【问题标题】:requirejs/r.js node ./bin/r.js when build -o xxx.js got ILLEGAL [duplicate]需要js / r.js节点./bin/r.js当build -o xxx.js得到非法[重复]
【发布时间】:2015-09-01 22:24:14
【问题描述】:

我知道有一些类似的问题,但这个问题没有明确的解决方案。请提示如何解决在 Windows 7 x64 上使用节点模块的问题。我读到 Windows 上节点模块的执行脚本存在问题。我阅读了有关 DOSkeys 的信息,但尚不清楚解决方案。请不要说要换linux操作系统,因为我真的考虑过(<_>

当我尝试时

node node_modules/.bin/r.js -o build.js

知道了:

basedir=`dirname "$0"`
        ^
SyntaxError: Unexpected token ILLEGAL
    at exports.runInThisContext (vm.js:73:16)
    at Module._compile (module.js:443:25)
    at Object.Module._extensions..js (module.js:4
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

感谢所有线索。

【问题讨论】:

  • 请不要将解决方案合并到您的问题正文中。这违背了 SO 编辑习惯。找到您的问题并正在寻找答案的人应该点击在您的问题作为副本关闭时添加到您的问题顶部的链接。这对他们来说确实是更好的事情,因为将来有人可能会发布比您看到的更好的答案,或者当新版本发布时您现在使用的答案可能会过时。

标签: javascript node.js requirejs r.js


【解决方案1】:

这个字符`是Grave Accent。你不能在代码中使用它。将其替换为直单引号,如下所示:

'

可能是编码不正确。它们可以从版本控制、平台之间切换或某种预编译器操作中获取。

【讨论】:

  • 好的,谢谢回复。但是我在 npm 中只有一个 basedir 语句,但是将这个值从 ` 更改为 ' ,它没有给出任何结果。另外,当我尝试通过 r.js.cmd 运行它时,我得到了这个:“ $ r.js.cmd /c/Users/Uland/AppData/Roaming/npm/r.js.cmd: line 1: syntax error near unexpecte d token (' /c/Users/Uland/AppData/Roaming/npm/r.js.cmd: line 1: @IF EXIST "%~dp0\node.exe" (' " 在 r.js.cmd 我们有:@IF EXIST "%~dp0\node.exe" ("%~dp0\node. exe" "%~dp0\node_modules\requirejs\bin\r.js" %* ) ELSE (@SETLOCAL @SET PATHEXT=%PATHEXT:;.JS;=;% node "%~dp0\node_modules\requirejs\bin\ r.js" %* )
  • 已解决:和Louis建议的线程一样,在win7我们需要全局安装requirejs,make doskey(直接在cmd中输入) DOSKEY r.js=r.js.cmd $* 之后我们使用全局命令(前面没有节点) r.js -o yourbuild.js 并且没有 basedir 问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-08
  • 2013-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多