Heroku部署问题sh:1:ng:找不到?

Kan*_*nna 5 heroku angularjs

在heroku中运行应用程序时遇到一些问题。

日志:

 2017-10-22T20:41:16.421991+00:00 app[web.1]: npm ERR! errno ENOENT
 2017-10-22T20:41:16.411165+00:00 app[web.1]: > ng serve
 2017-10-22T20:41:16.411149+00:00 app[web.1]: 
 2017-10-22T20:41:16.421630+00:00 app[web.1]: npm ERR! file sh
 2017-10-22T20:41:16.411165+00:00 app[web.1]: 
 2017-10-22T20:41:16.416314+00:00 app[web.1]: sh: 1: ng: not found
Run Code Online (Sandbox Code Playgroud)

package.json:

"scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
},
Run Code Online (Sandbox Code Playgroud)

信封:

Angular 4,我没有使用NodeJS express。我已经在Heroku中部署了应用程序。

ya_*_*mon 8

NPM_CONFIG_PRODUCTION您可以通过将environment: 设置为 来让heroku 构建您的开发依赖项 false。(如何?


或者您可以将 (角度 9) 从 devDependencies 移动
@angular/cli
@angular/compiler-cli
@angular-devkit/build-angular
typescript
依赖项。

所以,运行:

 npm i @angular/cli @angular-devkit/build-angular @angular/compiler-cli typescript --save-prod
Run Code Online (Sandbox Code Playgroud)

或者使用您的版本(如果您指定了一些版本)。例如:

 npm i @angular/cli@9.1.x @angular-devkit/build-angular@0.901.x @angular/compiler-cli@9.1.x typescript@3.8.x --save-prod
Run Code Online (Sandbox Code Playgroud)

由 github 发出


nil*_*sal 3

在生产环境中,Angular 代码作为静态代码部署。

只需运行:

ng build --prod --aot
Run Code Online (Sandbox Code Playgroud)

部署生成的 dist 文件夹作为静态网站。

参考: https://www.youtube.com/watch?v =jw1RtGJKIbw