vue-loader
来源:互联网 发布:存储过程实现数据同步 编辑:程序博客网 时间:2024/06/05 01:20
vue-loader的概念
其他loader:css-loader、url-loader、html-loader等
先来了解一下模块的概念,比如在nodeJS中,有require
和exports
关键字。
很早有个broserify,是个js模块加载器。
现在流行的是webpack,因为它不光你能加载js文件,还可以是css文件或图片等资源。
webpack,我们可以认为也是更加高级的模块假期,围绕它一切东西都是模块。
这些loader是干嘛的?
我们知道在html中,我们引入css文件是link
标签,
但比如我们需要
require('style.css')
这还是不太逆天了?其实这就是需要css-loader来处理了。
在Vue开发中,有.vue
文件,vue-loader就是用来加载这类文件的,然后在通过webpack打包编译成我们浏览器认识的代码。vue-loader是基于webpack的。
.vue文件
.vue文件就是放置vue的组件代码,结构如下:
<template> //html</template><style>//css</style><script>//js</script>
项目目录结构
webpack是模块分开写,最后打包在一起。
简单的目录结构如下:
|-index.html
|-main.js 入口文件
|-App.vue vue文件
|-package.json 工程文件(项目依赖、名称、配置),npm init –yes 生成此文件
|-webpack.config.js webpack的配置文件
1.执行:npm init --yes
执行成功之后,项目目录结构如下:
2.webpack配置文件webpack.config.js
,内容如下:
module.exports = { //入口文件 entry:'./main.js', //出口 output:{ path:__dirname, filename:'build.js' //打包之后的文件,html模板中引入此文件 },};
webpack准备工作
下载安装:
npm install webpack --save -devnpm install webpack-dev-server --save -dev
安装完成之后,根目录下就会多一个node_modules
文件夹,其中有n多子文件夹。
因为我们前面已经写好了webpack所需的配置文件,这时候在终端执行命令:webpack
就会生成build.js
文件
但在实际开发中,为了更加方便,我们可以做如下配置,修改工程文件package.json
添加scripts:
"scripts": { "dev": "webpack-dev-server --inline --hot", "b": "webpack" },
这样我们只需要在终端输入:npm run dev
就启动webpack服务模式了;执行npm run b
其实就执行的是webpack
命令。
这就启动了webpack服务模式。
然后我们就可以访问http://localhost:8080/
,就是访问我们的项目。
开始正式编写我们的代码
ES6的模块化开发
导出模块:export default {}
引入模块:import 模块名 from 地址
但ES6的这种语法,现在还有很多浏览器不认识,我们可以通过babel
来转换。
另外.vue
文件也要vue-loader来处理。
所以,我们还需要安装几个webpack的模块(module)
npm install vue-loader vue-html-loader css-loader style-loader file-loader --save -dev
最最核心的必须要下载vue:
npm install vue vue-template-compiler --save -dev
下载babel需要的
npm install babel-cli babel-loader babel-core babel-plugin-transform-runtime babel-preset-es2015 babel-runtime --save -dev
如果不用ES6的语法,就不需要babel了。
1.babel配置文件,根目录新建.babelrc
文件,内容如下:
{ "presets":["es2015"]}
然后就可以编写我们的业务代码了
main.js:
//引入Vueimport Vue from 'vue';//引入组件import App from './App.vue';//实例化Vuenew Vue({ el:'body', components:{ app:App }});
App.vue:
<template> <h1>welcom vue</h1></template>
- vue-loader
- vue-loader
- vue-loader
- vue-loader 与 webpack
- vue-loader学习笔记
- vue-loader配置
- vue学习(四) vue-loader vue-router vue-cli
- Vue + Webpack + Vue-loader 功能介绍
- vue-loader + Webpack 环境搭建
- 手动搭建webpack + vue + loader
- Vue-loader 的巧妙玩法
- vue-router、vue-loader、vue-cli的作用
- vue 文件添加postcss postcss-loader
- vue-cli创建项目的loader问题
- 使用vue-loader 开发component环境搭建
- Webpack + vue-loader构建单文件vue组件
- Webpack + vue-loader构建单文件vue组件
- Webpack + vue-loader构建单文件vue组件
- iOS-对象为空的判断(nil、null)
- CacheHelper.cs
- Android Studio 设置项目编码,解决Android Studio项目运行时乱码问题
- AOP异常: java.lang.IllegalArgumentException: error at ::0 formal unbound in pointcut 1
- HDOJ.1010 Tempter of the Bone (DFS)
- vue-loader
- Android监听软键盘回车事件
- sqlDependency提供了这样一种能力:当被监测的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让系统自动更新数据(或缓存)的目的.
- 端口转发的几种方法
- java时间处理Calendar使用小记
- IO流学习内容记录
- OpenStack:glance_store:driver.py文件源码学习
- ORA-01950:对表空间 'xxx' 无权限
- Android ListView应用