vue-cli3.0 升级记录
2019-02-25 16:11:41来源:博客园 阅读 ()
年三十时 vue2.6 发布,向 3.0 看齐,说明 3.0 不远了。作为开发者也应该为vue3.0 做点准备。首先是把 vue-cli 升级到 3.x ,在这记录下 vue-cli2.x 升级 vue-cli3.x 中遇见(将来)遇见的问题。
1、安装 vue-cli3.x
npm install -g @vue/cli # OR yarn global add @vue/cli
如果希望还保留 vue-cli2.x 的语法或使用 2.x 的模板,建议安装 cli-init
npm install -g @vue/cli-init # OR yarn global add @vue/cli-init
2、使用 vue-cli3.x 创建项目
vue create hello-world
按照提示完成创建,新建的项目比 2.0 的文件要少很多,删除了与编译相关的一些配置( 准确地说是在项目中删除了,真正的配置还是有的,在 node_modules/@vue 目录下 )。 src 目录依然不变,static 目录改成了 public。
3、遇见问题及解决方案
(1) public 与 static
public 与 static 作用基本相同,但是在动态引用路径上有区别,不能直接将 static 替换为 public 。如:'./static/config/conf.js' 替换为 './public/config/conf.js' 会报 404 错误,应改为 './config/conf.js' ,也就是 public 不要出现在路径中。
(2) heap out of memory crash
项目中如果引用了比较大的 js 文件,在开发运行时就会出现这个错误,导致出现这个错误主要是插件(plugin)内存管理不佳导,解决方法:在项目根目录下新建文件 .eslintignore ,把大文件所在的路径添加进去,如
public/
(3) 编译打包配置
如果希望对 webpack 等进行细致化配置,可以在项目根目录下新建文件vue.config.js,具体配置可参考 https://github.com/vuejs/vue-cli/blob/dev/docs/zh/config/README.md,下面是一份基本配置。
1 const path = require('path') 2 3 module.exports = { 4 // 部署应用包时的基本 URL,用法和 webpack 本身的 output.publicPath 一致 5 publicPath: './', 6 // 输出文件目录 7 outputDir: 'dist', 8 // eslint-loader 是否在保存的时候检查 9 lintOnSave: true, 10 // 是否使用包含运行时编译器的 Vue 构建版本 11 runtimeCompiler: false, 12 // 生产环境是否生成 sourceMap 文件 13 productionSourceMap: false, 14 // 生成的 HTML 中的 <link rel="stylesheet"> 和 <script> 标签上启用 Subresource Integrity (SRI) 15 integrity: false, 16 // webpack相关配置 17 chainWebpack: (config) => { 18 config.resolve.alias 19 .set('vue$', 'vue/dist/vue.esm.js') 20 .set('@', path.resolve(__dirname, './src')) 21 }, 22 configureWebpack: (config) => { 23 if (process.env.NODE_ENV === 'production') { 24 // 生产环境 25 config.mode = 'production' 26 } else { 27 // 开发环境 28 config.mode = 'development' 29 } 30 }, 31 // css相关配置 32 css: { 33 // 是否分离css(插件ExtractTextPlugin) 34 extract: true, 35 // 是否开启 CSS source maps 36 sourceMap: false, 37 // css预设器配置项 38 loaderOptions: {}, 39 // 是否启用 CSS modules for all css / pre-processor files. 40 modules: false 41 }, 42 // 是否使用 thread-loader 43 parallel: require('os').cpus().length > 1, 44 // PWA 插件相关配置 45 pwa: {}, 46 // webpack-dev-server 相关配置 47 devServer: { 48 open: true, 49 host: 'localhost', 50 port: 8080, 51 https: false, 52 hotOnly: false, 53 // http 代理配置 54 proxy: { 55 '/api': { 56 target: 'http://127.0.0.1:3000/api', 57 changeOrigin: true, 58 pathRewrite: { 59 '^/api': '' 60 } 61 } 62 }, 63 before: (app) => {} 64 }, 65 // 第三方插件配置 66 pluginOptions: { 67 68 } 69 }
原文链接:https://www.cnblogs.com/lifefriend/p/10434177.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JavaScript之基本语句 2019-08-14
- 微信web开发问题记录 2019-08-14
- 易混乱javascript知识点简要记录 2019-05-23
- JavaScript引用类型简单记录 2019-05-22
- js 操作字符串方法记录 2019-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash