// (function() {
process.exec('npm run build', (error, stdout, stderr) => {
if (!error) {
// 成功
} else {
// 失败
}
});
不要试图在前端调用本机资源,浏览器禁止你这么做。之前还有ActiveObject现在也没人用了。
你vue里面用nodejs指令不行是因为nodejs是运行在你电脑上的,前端js是运行在浏览器里的,这俩不一样
vue是没有权限打开本地程序的,不要枉费心思了
web端是没有这么大的权限去调用系统应用的,可以通过node服务端去做,但是这么做也是有缺陷的,node服务部署到哪里就会调用哪里的应用,比如你把项目部署到了你的本地,那么调用的cmd就是你本地的cmd,如果将项目部署到了线上,那么就会调用你线上服务器的cmd,这种做法只适用于本地部署
办法还是有的,前端Vue中直接调用node的API肯定是行不通,只能通间接方式,可以在Vue界面模拟CMD命令行,然后通过http接口把前端输入的内容以字符串的形式传给nodejs后端,让其执行,再把执行结果返回到Vue页面上展示,可能要花不少精力去处理这种转换和接口请求响应。