vue-cli 3.0 脚手架配置记录

一/ 在2.X中静态资源文件放在static文件夹中,此文件夹里的东西不会被webpack打包,而在3.X中没有该文件,于是我在根目录新建了一个static文件夹存放reset.css文件,出现了在index.html引入reset无效的问题,经过查资料发现3.X中的public文件夹类似于2.X里的static,最终把reset文件放入public文件夹中成功引入

二/ 启动服务后自动打开浏览器vue.config.js配置

module.exports = {
    devServer: {
        open: true,  //npm run serve 后自动打开浏览器
    }
}

三/ 跨域请求的vue.config.js配置

module.exports = {
    proxy: {
        '/api': { //匹配所有以‘/api’开头的请求路径
             target: 'http://localhost:4000', //代理目标的基础路径
             changeOrigin: true, //支持跨域
             pathRewrite: { //重写路径:去掉路径中开头的'/api'
                 '^/api': ''
             }
        }
    }
}

proxy配置

、项目中使用async获取promise对象传过来的值,在npm run build打包时报以下错误
在这里插入图片描述
说是需要 @babel/plugin-syntax-dynamic-import插件,
而且在webpack官网上也有特别说明:

由于 import() 会返回一个 promise,因此它可以和 async 函数一起使用。但是,需要使用像 Babel 这样的预处理器和Syntax Dynamic Import Babel Plugin。

@babel/plugin-syntax-dynamic-import

安装:

npm install --save-dev @babel/plugin-syntax-dynamic-import

推荐使用
在babel.config.js中做如下配置

"plugins": ["@babel/plugin-syntax-dynamic-import"]

、既能localhost访问又能手机IP访问
修改vue.config.js文件下的host:

devServer: {
        host: '0.0.0.0'
    }

然后修改package.json中script下dev的值,在后面加入–host 0.0.0.0

"scripts": {
    "dev": "--host 0.0.0.0",
  },

、vue项目上线后其他浏览器都能正常运行,但是微信浏览器白屏,网上查完资料后,猜测应该是ES6转ES5出了问题:

使用 es6-promise:

npm install es6-promise -S

// 在 main.js 首行引入即可
require("es6-promise").polyfill()

使用 babel-polyfill:
在main.js中引入(有人说要在最上面引入)

import 'babel-polyfill'

或者在vue.config.js中配置

chainWebpack: config => {
        config
            .entry('./src/main.js')
            .add('babel-polyfill')
            .end()
    }  

另外我还在babel.config文件中做了配置

"presets": [
    ['@vue/app', {
      polyfills: [
        'es6.promise',
        'es6.symbol'
      ]
    }]
  ],
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值