介绍:有多种方案 (vue-cli: vue的一个项目脚手架);选一个吧,前三个不行直接第四个
- 在 package.json 中配置 --open(2.x、3.x、4.x…都行)
- vue-cli3.x以上也可在 vue.config.js 中配置
- vue-cli2.x也可在 config 中配置
- 当然你也可以手写个启动(使用场景就是配置了以上都不生效,那就自己搞一个)
1.在 package.json 中配置 --open(第一种方案)
package.json 中找到 script 中你启动项目的命令行 在后缀添加 --open
比如说以下我是以 dev(npm run dev)启动项目的,则在后面添加 --open
{
"scripts": {
"build": "vue-cli-service build",
"lint": "vue-cli-service lint",
"dev": "vue-cli-service serve --open"
},
"dependencies": {
},
"devDependencies": {
},
}
2. 在 vue.config.js 中配置 devServer.open = true(第二种方案)
module.exports = {
devServer: {
open: true,
},
}
3. 如果项目是 vue-cli2.x构建的则在 config 中配置 (第三种方案)dev.autoOpenBrowser: true,
module.exports = {
dev: {
autoOpenBrowser: true,
}
}
4. 手写(以node的opn模块来举例,在 vue.config.js 文件中加入如下代码)(第四种方案,终极方案)
如果只用启动 localhost 就行了,则以下代码
const opn = require('opn'),port = 7315
setTimeout(() => opn(`http://localhost:${port}`), 0);
如果以 ip 地址启动项目
const opn = require('opn'),port = 7315;
const getIPAdress = () => {
const interfaces = require('os').networkInterfaces();
for (let devName in interfaces) {
const iface = interfaces[devName];
for (let i = 0; i < iface.length; i++) {
const alias = iface[i];
if (alias.family === 'IPv4' && alias.address !== '127.0.0.1' && !alias.internal) return alias.address
}
}
}
setTimeout(() => opn(`http://${getIPAdress()}:${port}`), 0);
- 使用node的open模块: 跟上面一模一样,他们不同点在于第二个参数,咱没用第二参数。
- 好像还有一些模块也能打开浏览器(重点就是能打开浏览器,其他任意了)
- 当然,此操作不局限于vue-cli脚手架。
启动项目浏览器自启动失效自己手搓(终极解决方案)
|