Vue + Webpack + Vue-loader学习教程之相关配置篇
前言
之前已经介绍过了Vue+Webpack+Vue-loader的相关功能介绍,大家可以点击这篇文章了解详情。下面就来看看相关配置篇,感兴趣的可以参考学习。
使用预处理器
在Webpack中,所有的预处理器需要和一个相应的加载器一同使用。vue-loader允许你用其它的Webpack加载器去处理Vue组件一部分代码。它会根据lang属性自动用适当的加载器去处理。
CSS
例如,我们编译用SASS编译
在引擎内,首先,
但是,注意这样只适用特定的Webpack,并不兼容Browserify和vueify。如果你想让你的Vue组件发布成一个第三方组件的话,避免这样使用
URL资源处理
默认情况,vue-loader是自动用css-loader和Vue组件编译器来处理样式和模板文件的。在处理过程中,所有的资源URL比如
例如,url(./image.png)被转译成require('./image.png')。
如上会被再转译成:
createElement('img',{attrs:{src:require('http://www.haoziyuan.cc../image.png')}})
因为.png并不是个JavaScript文件,你需要配置Webpack使用file-loader或者url-loader处理它们。项目脚手架工具vue-cli也能帮你配置这些。
这样做的好处是:
- file-loader允许你指定在哪里复制和存放静态资源文件,以及用版本哈希值命名从而更好利用缓存。这意味着,可以把图片放到*.vue文件旁边,可使用相对路径,而不需要担心发布时候的URL。使用适当的配置,Webpack在打包输出的时候,会自动把文件路径转为正确的URL。
- url-loader允许你内联base-64数据格式的URL资源,如果小于设定的阈值。这样可以减少HTTP请求小文件的数量。如果文件大于这个阈值。会自动itautomaticallyfallsbacktofile-loader.
加载器高级配置
若你想自定义载器的配置,不要vue-loader来推断。或你只想覆盖加载器内置的配置。那就这样做,在你Webpack配置文件里,添加一个vue块,并指定loaders选项:
Webpack1.xExample:
//webpack.config.js module.exports={ //otheroptionshttp://www.haoziyuan.cc... module:{ loaders:[ { test:/\.vue$/, loader:'vue' } ] }, //vue-loader配置 vue:{ //http://www.haoziyuan.cc...其他vue选项 loaders:{ //用coffee-loader加载所有没有"lang"属性的