vue-cli 3.0的调整
2018-07-11 本文已影响58人
虚蕪面孔
安装命令调整
//原先
npm install -g vue-cli
vue init <template-name> <project-name>
//改为
npm install -g @vue/cli
# or
yarn global add @vue/cli
vue create my-project
项目初始化的不同
通过上下键进行移动空格键进行选中,选中完成后点击回车进行项目生成
image.png image.png
项目结构变化
选择default初始化,可以看到项目结构为:
│ package-lock.json
│ package.json
├─public
│ favicon.ico
│ index.html
└─src
│ App.vue
│ main.js
├─assets
│ logo.png
└─components
HelloWorld.vue
选择TS初始化,可以看到项目结构为:详细内容就一一呈现了
│ package-lock.json
│ package.json
├─public
│ favicon.ico
│ index.html
└─src
│ App.vue
│ main.ts
│ router.ts
│ store.ts
│ registerServiceWorker.ts
├─assets
│ logo.png
└─components
HelloWorld.vue
webpack的配置文件没有了
你会发现以前项目中的build跟conf文件夹没了,这也就代表你不能随意的更改他的打包文件了
vue-cli3.0默认项目目录与2.0的相比,更精简:
1.移除的配置文件根目录下的,build
和config
等目录,
2.移除了static
文件夹,新增了public
文件夹,并且index.html
移动到public
中。
3.在src
文件夹中新增了views
文件夹,用于分类 试图组件 和 公共组件 。
4.大部分配置 都集成到 vue.config.js这里,在项目根目录下
vue.config.js在哪里呢?
这是自己手动建立的文件存放在项目的根目录下基本语法如下:
module.exports = {
// 基本路径
baseUrl: '/',
// 输出文件目录
outputDir: 'dist',
// eslint-loader 是否在保存的时候检查
lintOnSave: true,
// use the full build with in-browser compiler?
// https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only
compiler: false,
// webpack配置
// see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
chainWebpack: () => {},
configureWebpack: () => {},
// vue-loader 配置项
// https://vue-loader.vuejs.org/en/options.html
vueLoader: {},
// 生产环境是否生成 sourceMap 文件
productionSourceMap: true,
// css相关配置
css: {
// 是否使用css分离插件 ExtractTextPlugin
extract: true,
// 开启 CSS source maps?
sourceMap: false,
// css预设器配置项
loaderOptions: {},
// 启用 CSS modules for all css / pre-processor files.
modules: false
},
// use thread-loader for babel & TS in production build
// enabled by default if the machine has more than 1 cores
parallel: require('os').cpus().length > 1,
// 是否启用dll
// See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode
dll: false,
// PWA 插件相关配置
// see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa
pwa: {},
// webpack-dev-server 相关配置
devServer: {
open: process.platform === 'darwin',
host: '0.0.0.0',
port: 8080,
https: false,
hotOnly: false,
proxy: null, // 设置代理
before: app => {}
},
// 第三方插件配置
pluginOptions: {
// ...
}
}
尤大佬是这样说的
1.vue-cli@3.0修改的方向是逐步成为“config/script in a package”的模型
2.为避免使用户预先做一些不可逆的设置,
-我们将逐步一出browserify支持,webpack讲只基于一个template
-在预设时就可以配置常见的(pwa/ts/ssr)设置
3.除了封装包,提供通过vue.config.js配置的可能
-为高级功能 如 env variables, css extraction API proxying提供了一个集中的入口
-如本地预设一样,提供了底层的webpack设置支持,可能是webpackchain
运行编译的命令改了
以前是:
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js"
现在却是:
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
总结:这次更新变化还是挺大的,将一些文件省略掉了,整体项目结构也更加清晰明了,值得大家去了解一波