vue-cli 3.0的调整

作者: 虚蕪面孔 | 来源:发表于2018-07-11 14:04 被阅读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.移除的配置文件根目录下的,buildconfig等目录,
    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"
    

    总结:这次更新变化还是挺大的,将一些文件省略掉了,整体项目结构也更加清晰明了,值得大家去了解一波

    相关文章

      网友评论

        本文标题:vue-cli 3.0的调整

        本文链接:https://www.haomeiwen.com/subject/gpqhpftx.html