首页 > 解决方案 > 在 Visual Studio 2019 中运行 vue.js Web 应用程序时生成错误

问题描述

我在 Visual Studio 2019 中创建了一个“基本 Vue.js Web 应用程序”,一旦我尝试在 Chrome 上运行该 Web 应用程序(根本没有在解决方案中添加或更改任何内容),它就会通知我它是“构建的”有错误”。显示的错误是:The Command " npm run build " exited with code 1.从文件Microsoft.Common.CurrentVersion.targets中,如下图所示:

在此处输入图像描述

日志文件:

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build'
1 verbose cli ]
2 info using npm@6.14.5
3 info using node@v12.18.2
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle vuejs-app2@0.1.0~prebuild: vuejs-app2@0.1.0
6 info lifecycle vuejs-app2@0.1.0~build: vuejs-app2@0.1.0
7 verbose lifecycle vuejs-app2@0.1.0~build: unsafe-perm in lifecycle true
8 verbose lifecycle vuejs-app2@0.1.0~build: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\Users\Bryan2\source\repos\VuejsApp2\node_modules\.bin;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\redist\intel64\compiler;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\windows\System32\OpenSSH\;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\Tools\Binn\;C:\Program Files\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\dotnet\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\nodejs\;C:\Users\Bryan2\AppData\Local\Microsoft\WindowsApps;C:\Users\Bryan2\.dotnet\tools;C:\Users\Bryan2\AppData\Roaming\npm
9 verbose lifecycle vuejs-app2@0.1.0~build: CWD: C:\Users\Bryan2\source\repos\VuejsApp2
10 silly lifecycle vuejs-app2@0.1.0~build: Args: [ '/d /s /c', 'vue-cli-service build' ]
11 silly lifecycle vuejs-app2@0.1.0~build: Returned: code: 1  signal: null
12 info lifecycle vuejs-app2@0.1.0~build: Failed to exec build script
13 verbose stack Error: vuejs-app2@0.1.0 build: `vue-cli-service build`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid vuejs-app2@0.1.0
15 verbose cwd C:\Users\Bryan2\source\repos\VuejsApp2
16 verbose Windows_NT 10.0.18362
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
18 verbose node v12.18.2
19 verbose npm  v6.14.5
20 error code ELIFECYCLE
21 error errno 1
22 error vuejs-app2@0.1.0 build: `vue-cli-service build`
22 error Exit status 1
23 error Failed at the vuejs-app2@0.1.0 build script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

我之前在另一台机器上的 Visual Studio 2017 中使用 ASP.NET Core 作为后端,使用可视化代码作为前端构建了一个 vue.js Web 应用程序,我正在尝试在我的计算机上了解 Visual Studio 2019 及其更新的诀窍新机器。我能做些什么来解决这个问题?

编辑

这是package.json所要求的:

{
  "name": "test1-vue",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "description": "Test1Vue",
  "author": {
    "name": ""
  },
  "dependencies": {
    "axios": "0.19.2",
    "chart.js": "2.9.3",
    "core-js": "3.6.5",
    "file-saver": "2.0.2",
    "html2canvas": "1.0.0-rc.5",
    "jspdf": "1.4.1",
    "jspdf-autotable": "3.5.6",
    "vue": "2.5.17",
    "vue-chartjs": "3.5.0",
    "vue-router": "3.3.4",
    "vuetify": "2.3.4",
    "vuex": "3.5.1"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "3.0.4",
    "@vue/cli-plugin-eslint": "3.0.4",
    "@vue/cli-plugin-vuex": "4.4.6",
    "@vue/cli-service": "3.0.4",
    "eslint": "5.6.0",
    "eslint-plugin-vue": "4.7.1",
    "sass": "1.26.10",
    "sass-loader": "9.0.2",
    "vue-cli-plugin-vuetify": "2.0.7",
    "vue-template-compiler": "2.5.17",
    "vuetify-loader": "1.3.0"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {},
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}

标签: vue.jsvisual-studio-2019

解决方案


Visual Studio 2019 在打开生成的项目时会自动安装项目的 NPM 模块。但是,这个过程比较(比使用Surface Pro,i5-8250U 1.6/1.8 GHz,8GB RAM的命令行慢),并且安装进度没有明显的UI指示,因此很容易忽略这个挂起状态。

奇怪的是,Visual Studio 允许您在 NPM 模块安装完成之前尝试开始构建,在这种情况下,您会注意到与缺少模块相关的错误(如您使用 观察到的错误vue-cli-service)。

一种解决方法是等到模块安装完成,由输出窗口解决方案资源管理器指示。

输出窗口

用打开Output窗口CtrlAltO,然后NpmShow output from下拉列表中选择。

  • 安装:注意Executing command 'npm install'

    npm 安装中

  • 完成:通知npm command completed with exit code 0

    npm 安装完成

解决方案资源管理器

使用打开解决方案资源管理器CtrlAltL然后展开该npm项目。

  • 安装:注意npm's 上下文菜单禁用Install npm PackagesUpdate npm Packages

    禁用 npm 菜单项

    ...并且 NPM 模块显示为带有黄色警告图标和“(缺失)”标签:

    缺少模块图标

  • 完成:注意 NPM 模块图标变为橙色图标,标签变为“(开发)”:

    已安装的模块图标


推荐阅读