【发布时间】:2018-04-15 10:18:24
【问题描述】:
我昨晚正在构建我的项目。这是一个使用 webpack 构建 React 可分发前端代码的 Node 项目。完成后,我关闭了电脑。今天早上我打开了我的电脑,现在,我知道没有代码或配置更改,我收到错误,指出缺少某种依赖项的依赖项。
ERROR in ./~/fsevents/~/graceful-fs/fs.js
Module not found: Error: Can't resolve 'fs' in '/Users/stevenkitzes/Documents/Career Dev/C2 to A1/react-lnl/demo/react-lnl/node_modules/fsevents/node_modules/graceful-fs'
@ ./~/fsevents/~/graceful-fs/fs.js 3:9-22
@ ./~/fsevents/~/graceful-fs/graceful-fs.js
@ ./~/fsevents/~/fstream/lib/reader.js
@ ./~/fsevents/~/fstream/fstream.js
@ ./~/fsevents/~/tar-pack/index.js
@ ./~/fsevents/~/node-pre-gyp/lib/package.js
@ ./~/fsevents/~/node-pre-gyp/lib ^\.\/.*$
@ ./~/fsevents/~/node-pre-gyp/lib/node-pre-gyp.js
@ ./~/fsevents/fsevents.js
@ ./~/chokidar/lib/fsevents-handler.js
@ ./~/chokidar/index.js
@ ./~/watchpack/lib/DirectoryWatcher.js
@ ./~/watchpack/lib/watcherManager.js
@ ./~/watchpack/lib/watchpack.js
@ (webpack)/lib/node/NodeWatchFileSystem.js
@ (webpack)/lib ^.*$
@ (webpack)/lib/webpack.js
@ ./jsx-map/jsx-build.js
这是我的 webpack 配置文件:
var webpack = require('webpack');
var path = require('path');
var APP_DIR = path.resolve(__dirname, '.');
var plugins = [];
var config = {
entry: APP_DIR + '/jsx.js',
output: {
path: APP_DIR,
filename: 'jsx-out.js'
},
module: {
loaders: [
{
test: /\.jsx?/,
exclude: /node_modules/,
include: APP_DIR,
loader: 'babel-loader',
query: {
presets: ['react']
}
}
]
},
plugins: plugins
};
module.exports = config;
【问题讨论】:
-
fs是一个节点内置模块。您可以尝试运行node -e "require('fs')",如果出现错误,您可能是节点安装有问题,您需要重新安装它。 -
没有错误,在我的其他 Node 项目中也没有问题。这就是为什么我很困惑! :(
-
也许可以尝试删除
node_modules并使用npm install重新安装。 -
您似乎正试图在您的应用中包含构建脚本。您不能捆绑需要内置节点的文件(至少对于浏览器,webpack 的默认目标)。您的意思是包含
./jsx-map/jsx-build.js吗?如果有,它的内容是什么?