PS E:\Code_my\better-man-vue> vue --version
@vue/cli 5.0.8
我的项目的脚手架是 5,在网上搜到的都是 cli2 / cli3 的配置,
一种方法是在 package.json 中配置 --open,
一种是在 vue.config.js 中配置 DevServer,
这两种方式都能在项目运行后自动打开浏览器,但是打开的都是 0.0.0.0:port ,然后就显示页面找不到。
解决上面的问题可以在 scripts 配置 --host localhost 或 devServer 中配置 host: ‘localhost’,这样打开的浏览器的地址是
http://localhost:port
,但是带来了新的问题,就是终端里不能显示局域网的地址了。
但是我既想自动打开浏览器到 http://localhost:port
,又想也能通过局域网访问。在网上找了一圈没找到答案,都是 cli2 / cli3 的配置,解决不了我的需求。
最后,我的解决方法不用修改 scripts ,只需要在 vue.config.js 中加几行代码,项目启动后,通过 node 打开浏览器。
// vue.config.js
// 指定端口号
const port = 8080
module.exports = {
devServer: {
port: port,
},
chainWebpack(config) {
// 本地开发环境,自动打开浏览器
config.when(process.env.NODE_ENV === "development", config => {
// 通过 node 打开浏览器
const open = require('open')
open(`http://localhost:${port}`, 'chrome')
})
}
}