热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vuecli3

最近将公司项目升级到vue-cli3.0,遇到一些问题,记录一下一、安装1.node环境需要8.9及更高版本2.关于旧版本VueCLI的包名称由v

最近将公司项目升级到vue-cli3.0,遇到一些问题,记录一下

一、安装

1. node环境需要8.9及更高版本

2. 关于旧版本 

     Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli(1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。

    但是我本地没有卸载也可以用,如果卸载了要用到vue-cli2的话需要桥接一下

3. 安装vue-cli3.0

npm install -g @vue/cli
# OR
yarn global add @vue/cli

二、搭建项目

1. vue create vue-test

空格选择需要的特性

选择scss 和 选择 eslint编码规范,这里我选择prettier

选择何时进行代码检测,此处选择在保存时进行检测

选择 Babel、PostCSS、ESLint等配置文件存放位置,此处选择单独保存在各自的配置文件中

保存这个配置

2. 创建完成后

// 进入到vue-test项目
cd vue-test
// - 启动服务
npm run serve
// - 打包编译
npm run build

3. 目录
三、配置vue.config.js
vue.config.js是一个可配置文件,用来写一些配置,如代理、打包、地址等配置

/* module.exports = {plugins: {autoprefixer: {}}
}; */
const path = require('path')
// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPluginfunction resolve(dir) {return path.join(__dirname, dir)
}module.exports = {lintOnSave: false,chainWebpack: (config) => {// 配置页面环境变量config.plugin('define').tap((args) => {args[0]['process.env']['CEMSYS_API'] = `"${process.env.CEMSYS_API}"`return args})// 配置静态资源图片config.module.rules.delete('images')// 清除svg默认的处理方式config.module.rules.delete('svg')},configureWebpack: {devtool: 'source-map',externals: {'AMap': 'AMap','AMapUI': 'AMapUI','EZUIPlayer': 'EZUIPlayer'},resolve: {extensions: ['.js', '.vue', '.json', '.css'],alias: {'vue$': 'vue/dist/vue.esm.js','@': resolve('src')}},performance: {hints: false},plugins: [// new BundleAnalyzerPlugin()],module: {rules: [{test: /\.svg$/,loader: 'svg-sprite-loader',include: [resolve('src/icons')],options: {symbolId: 'icon-[name]'}},{test: /\.(png|jpe?g|gif|webp|svg)(\?.*)?$/,exclude: [resolve('src/icons')],use: [{loader: 'url-loader',options: {limit: 4096,fallback: {loader: 'file-loader',options: {name: 'img/[name].[hash:8].[ext]'}}}}]}]}},devServer: {proxy: {'/sjgzxt': {target: 'http://www.100Link.net',changeOrigin: true,ws: true,secure: false}}}
}

四、环境变量

在.env里面写一些需要的变量

为一个特定模式准备的环境文件(如 .env.production)将会比一般的环境文件 (如 .env) 拥有更高的优先级,此外,Vue CLI启动时已经存在的环境变量拥有最高优先级,并不会被 .env 文件覆写

CEMSYS_API=https://www.100link.net/cas
VUE_APP_BASE_API=/sjgzxt

五、将已有项目升级到vue-cli3.0


  1. 使用vue-cli创建新的项目
  2. 删除新项目中src下的内容
  3. 将原有项目src中的源码拷贝到新项目的src
  4. 将原有项目的index.htmlfavicon.ico拷贝到新项目的public
  5. 将原有的*static文件夹也拷贝到新项目的public
  6. 修改package.json、.babelrc等文件,保持和原有项目一致即可 ps: 旧package.json的开发环境依赖和新的不一样,可以不复制
  7. request.js里面的有用到之前的变量需要修改一下

六、需解决的问题

1. 升级后可能css样式会紊乱,可能是因为写在全局里面了

vue框架中每个vue页面的style可以加上scoped属性,如下所示,代表仅对当前页面生效,否则在运行项目时页面样式会出现杂乱

不重名也可以避免样式错乱


推荐阅读
  • 深入探索Node.js新框架:Nest.js第六篇
    在本文中,我们将深入探讨Node.js的新框架Nest.js,并通过一个完整的示例来展示其强大功能。我们将使用多个装饰器创建一个基本控制器,该控制器提供了多种方法来访问和操作内部数据,涵盖了常见的CRUD操作。此外,我们还将详细介绍Nest.js的核心概念和最佳实践,帮助读者更好地理解和应用这一现代框架。 ... [详细]
  • spring boot使用jetty无法启动 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • oracle 对硬件环境要求,Oracle 10G数据库软硬件环境的要求 ... [详细]
  • 尽管Medium是一个优秀的发布平台,但在其之外拥有自己的博客仍然非常重要。这不仅提供了另一个与读者互动的渠道,还能确保您的内容安全。本文将介绍如何使用Bash脚本将Medium文章迁移到个人博客。 ... [详细]
  • 本文介绍了如何在Android应用中通过Intent调用其他应用的Activity,并提供了详细的代码示例和注意事项。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • 本文详细介绍了JQuery Mobile框架中特有的事件和方法,帮助开发者更好地理解和应用这些特性,提升移动Web开发的效率。 ... [详细]
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 如何高效解决Android应用ANR问题?
    本文介绍了ANR(应用程序无响应)的基本概念、常见原因及其解决方案,并提供了实用的工具和技巧帮助开发者快速定位和解决ANR问题,提高应用的用户体验。 ... [详细]
  • 在现代Web开发中,HTML5 Canvas常用于图像处理和绘图任务。本文将详细介绍如何将Canvas中的图像导出并上传至服务器,适用于拼图、图片编辑等场景。 ... [详细]
  • 本文详细介绍了如何使用Heartbeat构建一个高可用性的Apache集群,包括安装、配置和测试步骤。 ... [详细]
  • 本文详细介绍了如何在 CentOS 7 及其衍生发行版(如 Red Hat, Oracle, Scientific Linux 7)上安装和完全卸载 GitLab。包括安装必要的依赖关系、配置防火墙、安装 GitLab 软件包以及常见问题的解决方法。 ... [详细]
author-avatar
Super小泰森_
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有