gpt4 book ai didi

javascript - Node.js 无法编译已安装的测试之一

转载 作者:太空宇宙 更新时间:2023-11-04 02:36:23 25 4
gpt4 key购买 nike

我正在尝试将 PHP 项目移植到 node.js

我使用从 node.org 下载的 macOS 通用安装程序安装了 Node 0.10.26。路径 env 包含可执行文件的正确目录路径等。

我转换了第一个文件/模块,尝试使用

检查其语法
node - p ~/path/with/no/spaces/to/myFile.js

结果是一个错误,内容如下:

Minis-Mac:Projects newbnz$ node -p ~/Projects/convert/application/models/mdAPI.js 
[eval]:1
/Users/maat/Projects/convert/application/models/mdAPI.js
^
SyntaxError: Invalid flags supplied to RegExp constructor 'newbnz'
at new RegExp (<anonymous>)
at [eval]:1:1
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:456:26)
at evalScript (node.js:532:25)
at startup (node.js:80:7)
at node.js:902:3

我继续尝试对与 Node 一起安装的测试文件之一执行相同的操作:

Minis-Mac:Projects newbnz$ node -p  /usr/local/lib/node_modules/npm/test/common.js

[eval]:1
/usr/local/lib/node_modules/npm/test/common.js
^
SyntaxError: Invalid flags supplied to RegExp constructor 'local'
at new RegExp (<anonymous>)
at [eval]:1:1
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:456:26)
at evalScript (node.js:532:25)
at startup (node.js:80:7)
at node.js:902:3

我在 OS Mavericks 上运行它。

披露:我是 c/c++ 开发人员,也是 JS 和 Node.js 的新手。

最佳答案

您正在传递 -p 标志,根据 node --help 会导致以下结果:

  -p, --print          evaluate script and print result

然后传递应用程序的文件路径 ~/path/with/no/spaces/to/myFile.js,该路径由 shell 转换为 /Users/maat/Projects/convert/application/models/mdAPI.js

现在,由于您使用了 -p 标志,您认为告诉 Node 用来启动应用程序的“路径”实际上被解释为原始 JavaScript,就好像它被传递给 eval 函数一样。

并且给定路径的格式(以 / 开头,并且周围没有单引号或双引号),node 将其解释为 JavaScript 正则表达式,然后尝试对其求值(使用不正确的正则表达式语法) - 从而导致控制台中出现神秘错误。

长话短说,删除标志,您应该得到您想要的行为。

关于javascript - Node.js 无法编译已安装的测试之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21963821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com