Webpack使用Vue
Webpack配置使用Vue
首先把上篇所写的代码复制一份。接着引入vue。通过npm install vue --save
下载
接着在main.js中导入vue并编写
接着编写index.html。添加id,使用差值表达式
使用npm run build
重新打包项目。查看页面
发现报错You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build.(found in
这是因为使用import导入的vue是runtime-only
版本的代码中,不可有任何的template。中的内容就是vue实例的template。所以我们要导入使用
runtime-compiler
版本的vue。可以编译template的版本
配置webpack.config.js
通过配置resolve对象中的alias属性,给vue起个别名。当import导入vue时,导入的是node_modules中的vue/dist/vue.esm.js
这是runtime-compiler版本的vue
接着重新打包npm run build
查看页面效果。使用vue正常
Vue实例属性template和el的关系
一个字符串模板作为 Vue 实例的标识使用。模板将会替换挂载的元素。挂载元素的内容都将被忽略,除非模板的内容有分发插槽。
这时候我们可以把index.html中的差值表达式给删除
接着我们修改main.js中vue的实例对象,添加template属性
使用vue实例对象的template属性利用模板字符串将el挂载的元素替换
重新npm run build
重新打包。查看页面效果
Vue的使用推演
局部组件
通过使用Vue实例的template属性进一步优化了Vue的使用。接着我们使用局部组件来进行优化。
定义一个局部组件对象,并在Vue实例对象中注册,在Vue实例对象中的template属性中使用局部组件标签。从而加载到el挂载到的元素中
重新打包npm run build
查看页面效果。效果正常
export default
我们利用ES6的特性export default
将我们的局部组件对象放到创建的vue目录下的app.js文件中
在main.js中通过import
关键字导入app.js的局部组件对象
重新打包npm run build
查看页面效果。效果正常
单文件组件
每个 .vue
文件包含三种类型的顶级语言块 、
和
,还允许添加可选的自定义块。
模板template
脚本script
样式style
自定义块
可以在 .vue
文件中添加额外的自定义块来实现项目的特定需求,例如
块。vue-loader
将会使用标签名来查找对应的 webpack loader 来应用在对应的块上。webpack loader 需要在 vue-loader
的选项 loaders
中指定。
更多细节,查看自定义块。
使用
我们在vue目录下创建一个App.vue文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZOZHbbdG-1601296180205)(https://gitee.com/kylincw/images/raw/master/img/20200610203017.png)]
App.vue文件本身就是一个组件对象。所以我们只要在main.js中通过import
关键字导入即可
由于我们使用单文件组件文件。也就是.vue结尾的文件。所以我们要下载相对应的loadernpm install vue-loader vue-template-compiler --save-dev
接着配置webpack-config.js
使用npm run build
命令打包。报错提示需要配置插件
我们将vue-loader
的版本降到13.7.3.通过npm uninstall vue-loader
卸载,之后通过npm install vue-loader@13.7.3 --save-dev
安装
接着重新打包npm run build
,查看页面效果。成功
组件引用组件
创建一个Cpn.vue文件
在App.vue中的script标签通过import引入Cpn组件对象
此时main函数还是导入App.vue组件。不过App组件中使用了Cpn组件。
标签:
相关文章
-
无相关信息