【发布时间】:2015-09-24 08:59:33
【问题描述】:
我正在 azure web 应用程序上运行 nodejs 应用程序,我正在尝试在其中使用 npm 集成 babel。问题是 babel 正在尝试访问
处的文件%USERPROFILE%
命名为.babel.json,一个不存在的文件。这很可能是由以下人员安装的:
npm install -g babel
在 azure web 应用程序上,我似乎根本找不到它(即使在 kudu 中为该站点运行 npm install -g babel 之后)。
我使用 kudu 自己将 %USERPROFILE% 中的文件复制到 %USERPROFILE%,但在网络应用程序重新启动时文件消失了。
有没有办法让 babel 在 web 应用上工作?
更新
我确实省略了一些东西。当我尝试加载babel/register时出现错误。
require('babel/register')({
optional: ["es7.asyncFunctions"]
});
我在流日志中看到的实际错误是
应用程序抛出未捕获的异常并终止:错误: ENOENT,没有这样的文件或目录 'D:\local\UserProfile.babel.json' 在 Object.fs.openSync (fs.js:438:18) 在 Object.fs.writeFileSync (fs.js:977:15) 保存时 (D:\home\site\wwwroot\node_modules\babel\node_modules\babel-core\lib\api\register\cache.js:35:19) 在 process._tickCallback (node.js:419:13) 在 Function.Module.runMain (module.js:499:11) 启动时 (node.js:119:16) 在 node.js:906:3
项目在Github
【问题讨论】:
-
尝试运行命令
npm install --save-dev babel-core。 npm 的选项-g会将包安装到节点模块的全局路径中。在 Azure 中,路径受到保护。 -
@Badescu,由于这个问题很难在我的环境中重现,您能否利用github.com/projectkudu/kudu/wiki/… 指出的方法与我们分享您的网站信息?
标签: node.js azure babeljs kudu