vue cli3 项目搭建+多环境配置

安装

npm install -g @vue/cli

查看版本

vue -V

创建项目

命令:vue create 项目名

启动命令

$ cd test-web

$ npm run serve

这样一个项目就创建好了。。。

创建好的项目目录如下:

参考官方文档:https://cli.vuejs.org/zh/guide/creating-a-project.html

相较于vue2,vue3的特点:

  • 移除了配置文件目录,config 和 build 文件夹;
  • 移除了 static 文件夹,新增 public 文件夹,并且 index.html 移动到 public 中;
  • 部分命令行发生变化:创建项目、运行项目

因为webpack的配置被隐藏了,如果需要修改原有配置,则需要在项目的根目录下,新建vue.config.js文件,来配置新的配置,具体参考官方文档:https://cli.vuejs.org/zh/guide/webpack.html

module.exports = {
    /* 部署生产环境和开发环境下的URL:可对当前环境进行区分,baseUrl 从 Vue CLI 3.3 起已弃用,要使用publicPath */
    publicPath: process.env.NODE_ENV === 'production' ? '/web/' : './',
    /* 输出文件目录:在npm run build时,生成文件的目录名称 */
    outputDir: 'dist',
    /* 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录 */
    assetsDir: "assets",
    /* 是否在构建生产包时生成 sourceMap 文件,false将提高构建速度 */
    productionSourceMap: false,
    /* 默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存,你可以通过将这个选项设为 false 来关闭文件名哈希。(false的时候就是让原来的文件名不改变) */
    filenameHashing: false,
    /* 代码保存时进行eslint检测 */
    lintOnSave: false,
    /* webpack-dev-server 相关配置 */
    devServer: {
        /* 自动打开浏览器 */
        open: true,
        /* 设置为0.0.0.0则所有的地址均能访问 */
        host: '0.0.0.0',
        port: 8000,
        https: false,
        hotOnly: false,
        /* 使用代理 */
        proxy: {
            '/api': {
                /* 目标代理服务器地址 */
                target: 'http://localhost:9090/',
                /* 允许跨域 */
                changeOrigin: true,
            },
        },
    },
}

多环境配置

项目根目录中的下列文件来指定环境变量。官方文档:https://cli.vuejs.org/zh/guide/mode-and-env.html

.env                # 在所有的环境中被载入
.env.local          # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]         # 只在指定的模式中被载入
.env.[mode].local   # 只在指定的模式中被载入,但会被 git 忽略

 

 

如图:

一个环境文件只包含环境变量的“键=值”对: 

NODE_ENV = 'development'
VUE_APP_CURRENTMODE = 'dev'
VUE_APP_BASEURL = '本地开发api地址'

可以通过传递 --mode 选项参数为命令行覆写默认的模式,在package.json 脚本中加入如下代码:

  "scripts": {
    "serve": "vue-cli-service serve",
    "build-qa": "vue-cli-service build --mode qa",
    "build-dev": "vue-cli-service build --mode dev",
    "build-stage": "vue-cli-service build --mode stage",
    "build-prod": "vue-cli-service build --mode prod"
  },

这样就可以通过如下命令来打包。

npm run build-qa //qa环境打包命令
npm run build-stage //预发环境打包命令
npm run build-prod //生产环境打包命令

项目的启动我依然是采用的pm2进行管理的。

注意:

只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。你可以在应用的代码中这样访问它们:

console.log(process.env.VUE_APP_SECRET)

 

更多内容我也还在继续学习摸索中。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值