开箱即用 vue全家桶+vant移动端解决方案( 六 )

? splitChunks 单独打包第三方模块module.exports = {  chainWebpack: config => {    config.when(IS_PROD, config => {      config        .plugin('ScriptExtHtmlWebpackPlugin')        .after('html')        .use('script-ext-html-webpack-plugin', [          {            // 将 runtime 作为内联引入不单独存在            inline: /runtime..*.js$/          }        ])        .end()      config.optimization.splitChunks({        chunks: 'all',        cacheGroups: {          // cacheGroups 下可以可以配置多个组,每个组根据test设置条件,符合test条件的模块          commons: {            name: 'chunk-commons',            test: resolve('src/components'),            minChunks: 3, //  被至少用三次以上打包分离            priority: 5, // 优先级            reuseExistingChunk: true // 表示是否使用已有的 chunk,如果为 true 则表示如果当前的 chunk 包含的模块已经被抽取出去了,那么将不会重新生成新的 。          },          node_vendors: {            name: 'chunk-libs',            chunks: 'initial', // 只打包初始时依赖的第三方            test: /[\/]node_modules[\/]/,            priority: 10          },          vantUI: {            name: 'chunk-vantUI', // 单独将 vantUI 拆包            priority: 20, // 数字大权重到,满足多个 cacheGroups 的条件时候分到权重高的            test: /[\/]node_modules[\/]_?vant(.*)/          }        }      })      config.optimization.runtimeChunk('single')    })  }}? 添加 IE 兼容之前的方式 会报 @babel/polyfill is deprecated. Please, use required parts of core-js andregenerator-runtime/runtime separately
@babel/polyfill 废弃,使用 core-js 和 regenerator-runtime
npm i --save core-js regenerator-runtime在 main.js 中添加
// 兼容 IE// https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md#babelpolyfillimport 'core-js/stable'import 'regenerator-runtime/runtime'配置 babel.config.js
const plugins = []module.exports = {  presets: [['@vue/cli-plugin-babel/preset', {useBuiltIns: 'usage', corejs: 3}]],  plugins}? Eslint+Pettier 统一开发规范该文件 .prettierrc 里写 属于你的 pettier 规则
{   "printWidth": 120,   "tabWidth": 2,   "singleQuote": true,   "trailingComma": "none",   "semi": false,   "wrap_line_length": 120,   "wrap_attributes": "auto",   "proseWrap": "always",   "arrowParens": "avoid",   "bracketSpacing": false,   "jsxBracketSameLine": true,   "useTabs": false,   "overrides": [{       "files": ".prettierrc",       "options": {           "parser": "json"       }   }]}


推荐阅读