可能它与webpack / memory-f没有特别关系,但我收到RangeError: Maximum call stack size exceeded
错误(请参阅下面的调用堆栈)。
我发现,在我的情况下,Azure上的__dirname
(webapp)会返回\\100.78.172.13\volume-7-default\8f5ecde749dace2bb57a\4e07195f015b45ce8e9ba255dc901988\site\repository\Source\Website\Content\app\node_modules\webpack\node_modules\memory-fs\lib\normalize.js
,而process.cwd()
会返回D:\home\site\repository\Source\Website\Content\app
。
是否可以从我这边做任何事情来配置节点js以返回D:\...
而不是\\..
?
如何重现:
https://github.com/intellismiths/webapp1
存储库。Sync
。它需要10多分钟才能完成,它将显示部署成功。WEBSITE_NODE_DEFAULT_VERSION
更改为6.2.2
npm cache clean
node -v
检查节点版本。它应该是v6.2.2
D:\home\site\respository\src\WebApp1
npm run build
npm run build
- 它应该生成wwwroot/app.js
而不会出错。webpack.config.js
以包含context: __dirname
以修复以前的错误。npm run build
更新1
我只是在添加第二个package.json之后才尝试设置6.2.2运行时,因此项目结构不是最简单的。也许只是将节点设置为6.2.2就会破坏构建。
答案 0 :(得分:4)
我可以按照您的步骤重现您的问题。我发现关键点是将WEBSITE_NODE_DEFAULT_VERSION
设置为6.2.2
。如果WEBSITE_NODE_DEFAULT_VERSION
位于6
下,我发现webpack任务正常。
请将设置WEBSITE_NODE_DEFAULT_VERSION
降级为6
下的版本,例如5.9.0
如果你的node.js模块不需要这么高的版本
根据angular2的package.json
:http://github.com/angular/angular/blob/master/package.json,似乎angular2存储库需要5.4
和{之间的node.js版本{1}}。
此外,Azure Web Apps上的Web应用程序根目录为6
。因此,如果要在Azure Web Apps上构建前端项目,则需要找到D:\home\site\wwwroot
,然后运行D:\home\site\wwwroot\wwwroot\mobile-web-app
。
答案 1 :(得分:2)
已在master
中修复,并建议将其包含在v6.4.0
中。
请参阅:https://github.com/nodejs/node/issues/7175#issuecomment-239824532和https://github.com/nodejs/node/pull/8070
答案 2 :(得分:1)
经过一整天的研究,反复试验和各种实验,如果您 愿意降级到节点5,我找到了一个可接受的解决方法。* :
npm install -g webpack
)。只需使用6.1.0即可绕过"超出最大调用堆栈大小"错误,但在从node_modules运行webpack时使用./node_modules/.bin/webpack
)给了我很多解决方法失败。全球安装webpack终于让我超越了它。
如果我理解正确,那么解析到UNC文件夹路径而不是已安装路径的节点> = 6.2中的__dirname
的整个问题将得到修复,这是一个积极的讨论{ {3}}
答案 3 :(得分:0)
我相信你的__dirname显示了存储数据的持久驱动器,而.cwd给出了节点运行的当前目录。这是因为Azure从驱动器运行,但文件存储在永久驱动器中。
在你的Gruntfile.js中添加
module.exports = function (grunt) {
grunt.file.setBase(__dirname);
// Code omitted
}
参考:link
答案 4 :(得分:0)
我有同样的问题。 使用UPGRADING npm而不是DOWNGRADING来修复它。
错误修正在比6.5更新的npm版本中。
https://github.com/aumanjoa/chronas-community/blob/master/package.json#L48