从零开始搭建vue+webpack环境,坑很多,各种plugins和loader眼花缭乱,最关键的是很多loader随着webpack4升级也是大改造,新版本在webpack3上直接用不了。下面关键记录些东西和版本
1. webpack
- webpack@3.12.0
- webpack-dev-server@2.9.1
webpack负责vue工程的构建,webpack-dev-server实现了在开发阶段高效的自动编译预览
2. vue
- vue@2.5.17
- vue-loader@14.2.3
- vue-template-compiler@2.5.2
vue编译好的项目必须在web服务器环境(包括webpack-dev-server)下执行,否则字体和样式会找不到
vue-loader 将 *.vue文件中的 <template>
、<script>
和 <style>
拆分,导出一个CommonJS模块的 Vue组件对象。
3. css
- css-loader@0.28.11
- less@2.7.3
- less-loader@4.0.5
- postcss-loader@2.1.6
- postcss-cssnext@3.1.0
- sass-resources-loader@1.3.3
css-loader 用于解析原生css,或者解析 vue-loader 导出的css部分,并将它们写到 <head> 中
less-loader 用于将less语法解析为css语法
postcss-loader 解析postcss语法,postcss-cssnext允许在项目中使用下一代css最新语法,比如在新语法中自动加浏览器前缀
3. babel
- babel-core@6.26.3
- babel-loader@7.1.5
- babel-preset-env@1.7.0
babel用于将js新语法转换成浏览器识别的es5语法,可以使得开发中直接使用es6新语法而不用担心兼容问题。
babel-core和babel-loader必须安装,babel-preset-env指定转换最新语法
3. 文件资源
- url-loader@0.5.9
- file-loader@1.1.11
除了上面的配置解析js语法和css之外,项目中必不可少的还有图片,字体等文件资源,在webpack构建时它们自然也需要loader去处理。这个时候就需要使用url-loader,url-loader依赖file-loader,可以根据资源大小选择生成图片还是base64编码