我继承了一个使用 NodeJS 构建的项目。几个月来,一切对我们来说都很好。我们已经毫无问题地构建了许多生产版本。
输入 xlsx.js。
由于将此包添加为依赖项,我们发现我们的 Gulp 构建可以在 Windows 上运行,但不能在 Ubuntu(这是我们的构建机器)上运行。当我们在 Ubuntu 上构建时,RequireJS barfs on require('fs'):
johnny@ubun-16:~/dev/eVGM-JavaScript-Client$ node --version
v4.6.1
johnny@ubun-16:~/dev/eVGM-JavaScript-Client$ gulp test
[15:19:35] Using gulpfile ~/dev/eVGM-JavaScript-Client/gulpfile.js
[15:19:35] Starting 'test'...
[15:19:35] Starting 'run-tests'...
07 11 2016 15:19:40.236:WARN [karma]: No captured browser, open http://localhost:9876/
07 11 2016 15:19:40.298:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
07 11 2016 15:19:40.308:INFO [launcher]: Starting browser PhantomJS
07 11 2016 15:19:41.421:INFO [PhantomJS 2.1.1 (Linux 0.0.0)]: Connected on socket Hq69p1CiIhcsCDOGAAAA with id 72071968
07 11 2016 15:19:41.596:WARN [web-server]: 404: /base/jspm_packages/system-polyfills.js
07 11 2016 15:19:43.457:WARN [web-server]: 404: /base/fs.js
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
Error: (SystemJS) XHR error (404 Not Found) loading /home/johnny/dev/eVGM-JavaScript-Client/fs.js
Error loading /home/johnny/dev/eVGM-JavaScript-Client/fs.js as "fs" from /home/johnny/dev/eVGM-JavaScript-Client/jspm_packages/github/sheetjs/js-xlsx@0.8.0/xlsx.js
PhantomJS 2.1.1 (Linux 0.0.0): Executed 0 of 0 ERROR (2.27 secs / 0 secs)
据我所知,'fs' 是 NodeJS 的内置包。(对吗?)它应该在那里。然而,这不是 Gulp 所说的。
更奇怪的是,如果我键入 Node 并在 Node 提示符下键入“require('fs')”,我会收到大量文本,告诉我 Node 正在查找包 A-OK。
也许这是一个 Gulp 问题。也许这是一个Ubuntu问题。也许这是杰夫的白痴问题。无论出于何种原因,我无法让我们的构建从 Gulp 中找到 fs,并且只能在 Ubuntu 上找到。
非常非常感谢您的任何帮助...
谢谢,杰夫