我正在使用angular2构建一个小型Web应用程序,目前唯一的依赖是导航栏的引导程序。有一天,一切正常(包括我可以看到我的导航栏),有一天我在另一台机器上克隆我的仓库,运行npm install
和ng serve
,添加一些组件/服务并突然结束在浏览器中没有加载站点和此堆栈跟踪(编译成功但没有错误):
Uncaught TypeError: fs.existsSync is not a function
at devmode.js:33
at Object.<anonymous> (devmode.js:34)
at Object.__webpack_require__.constructor.oneshot.fn (devmode.js:34)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.<anonymous> (http.js:32)
at Object.<anonymous> (http.js:567)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.<anonymous> (index.js:29)
at Object.<anonymous> (index.js:255)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.171 (quote.service.ts:7)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.170 (routing.module.ts:37)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.90 (best.component.ts:8)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.168 (app.component.ts:8)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.157 (src async:7)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at Object.342 (main.bundle.js:549)
at __webpack_require__ (bootstrap 5d37cea67e603e9113e4:52)
at webpackJsonpCallback (bootstrap 5d37cea67e603e9113e4:23)
at main.bundle.js:1
(anonymous) @ devmode.js:33
(anonymous) @ devmode.js:34
__webpack_require__.constructor.oneshot.fn @ devmode.js:34
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
(anonymous) @ http.js:32
(anonymous) @ http.js:567
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
(anonymous) @ index.js:29
(anonymous) @ index.js:255
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
171 @ quote.service.ts:7
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
170 @ routing.module.ts:37
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
90 @ best.component.ts:8
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
168 @ app.component.ts:8
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
157 @ src async:7
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
342 @ main.bundle.js:549
__webpack_require__ @ bootstrap 5d37cea67e603e9113e4:52
webpackJsonpCallback @ bootstrap 5d37cea67e603e9113e4:23
(anonymous) @ main.bundle.js:1
在看到错误一次之后,如果我推动&amp;拉,虽然在我添加的内容相关逻辑之外没有任何改变。
到目前为止,我的研究主要向我展示了与电子有关的问题,我没有使用这些问题,或者我没有做过的文件系统操作。我错过了一些明显的东西吗?
我已经做了通常的解决方法,例如删除node_modules&amp;重新运行npm i
,我在npm版本5.4.0和节点8.4.0,我使用当前版本的WebStorm-IDE。
答案 0 :(得分:0)
如果相同的代码库之前工作正常并且稍后失败:似乎问题是在两种情况下都安装了NPM软件包的实际版本。
例如:
specialPackage
版本为3.1.0
package.json
中,我将其用作~3.1.0
。specialPackage
的作者发布了一个新的补丁(3.1.1
)并进行了一些重大改变package.json
安装3.1.1
而不是3.1.0
。我们如何解决这个问题?
~
中没有^
或package.json
的精确NPM包版本package-log.json
文件。我们需要将它添加到我们的存储库中,以便我们期望我们期望的NPM包的确切版本。您可以尝试
NPM >= 5.0
,您是否在存储库中有package-lock.json
(其中package-lock.json
是在应用程序正常运行的情况下创建的)package-lock.json
,然后再次尝试npm i
package.json
中使用准确的NPM包版本(删除所有~
和^
。@angular/cli
全局程序包?