Vue-cli-service服务构建完成回调?

问题描述 投票:0回答:1

我想启动一个vue-cli dev服务器,然后在这个构建完成后从节点运行命令。

有没有办法从节点脚本运行vue-cli-service serve,以便我可以在开发服务器启动并运行后收到回调?

vue.js vue-cli vue-cli-3
1个回答
3
投票

qazxsw poi不返回服务承诺(这会允许您设置完成回调),但您可以复制脚本(25行)来执行此操作:

我-VUE-CLI-service.js:

vue-cli-service.js

然后,您可以创建另一个使用此副本的脚本,添加一个#!/usr/bin/env node const semver = require('semver') const { error } = require('@vue/cli-shared-utils') const requiredVersion = require('@vue/cli-service/package.json').engines.node if (!semver.satisfies(process.version, requiredVersion)) { error( `You are using Node ${process.version}, but vue-cli-service ` + `requires Node ${requiredVersion}.\nPlease upgrade your Node version.` ) process.exit(1) } const Service = require('@vue/cli-service') const service = new Service(process.env.VUE_CLI_CONTEXT || process.cwd()) const rawArgv = process.argv.slice(2) const args = require('minimist')(rawArgv) const command = args._[0] module.exports = () => // <--- add this line to return the service promise service.run(command, args, rawArgv).catch(err => { error(err) process.exit(1) }) 回调以在服务器成功启动时调用:

我-service.js:

then

请务必更新#!/usr/bin/env node const service = require('./my-vue-cli-service') service().then(result => { if (result && result.server) { // <--- server started successfully if result.server exists const {server, url} = result; console.log('ready'); } }) 以使用新脚本:

的package.json:

package.json
© www.soinside.com 2019 - 2024. All rights reserved.