仅在参数列表后运行 npm start (ng serve) 'SyntaxError: missing ) 时出错

cup*_*_of 4 npm angular

这样做时npm start我收到以下错误

C:\Users\Me\Desktop\myProject\node_modules\.bin\ng:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
          ^^^^^^^

SyntaxError: missing ) after argument list
    at Module._compile (internal/modules/cjs/loader.js:721:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Run Code Online (Sandbox Code Playgroud)

这是我的 package.json 设置的

  "scripts": {
    "start": "node --max_old_space_size=8192 node_modules/.bin/ng serve --configuration=dev",
    }
Run Code Online (Sandbox Code Playgroud)

这很奇怪,因为当我在同一个项目上时,但在 Mac 上我可以npm start正常工作。它必须是一个窗口的东西。

有什么建议?

Dav*_*vid 9

在 Windows 上,不要使用目录中的ng脚本node_modules/.bin,而是使用目录中的脚本@angular/cli/bin

"scripts": {
    "start": "node --max_old_space_size=8192 node_modules/@angular/cli/bin/ng serve --configuration=dev",
     }
Run Code Online (Sandbox Code Playgroud)


小智 0

请将您的代码与它进行比较...

#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

if [ -x "$basedir/node" ]; then
  "$basedir/node"  "$basedir/../@angular/cli/bin/ng" "$@"
  ret=$?
else 
  node  "$basedir/../@angular/cli/bin/ng" "$@"
  ret=$?
fi
exit $ret
Run Code Online (Sandbox Code Playgroud)