1

我在使用 Webpack 解析 Windows 上的模块名称时遇到问题。加载器已安装,但 Webpack 用于尝试解析它们的路径不正确(请注意,它将模块路径连接到下面的工作目录)。Webpack 正在与 webpack-dev-server 一起启动。

ERROR in ./~/css-loader?sourceMap&modules&localIdentName=[name]_[local]_[hash:base64:3]!./~/postcss-loader?parser=postcss-scss!./client/src/scripts/components/Main/Main.css
Module build failed: (SystemJS) ENOENT: no such file or directory, open 'C:\Users\Terry\Projects\django-react\C:\Users\Terry\Projects\django-react\node_modules\css-loader\index.js'
        Error: ENOENT: no such file or directory, open 'C:\Users\Terry\Projects\django-react\C:\Users\Terry\Projects\django-react\node_modules\css-loader\index.js'
            at Error (native)
        Error loading C:/Users/Terry/Projects/django-react/C:\Users\Terry\Projects\django-react\node_modules\css-loader\index.js
 @ ./client/src/scripts/components/Main/Main.css 4:14-225 13:2-17:4 14:20-231
 @ ./client/src/scripts/components/Main/Main.jsx
 @ ./client/src/index.js
 @ multi main
webpack: bundle is now VALID.

相关资料:

  • 视窗 10
  • 节点 6.6.0
  • 我正在通过 NPM 脚本使用 babel-node 运行 webpack
  • Webpack 2.1.0-beta.22
  • NPM 3.10.3

编辑:这通常仅在我进行触发热重载的编辑时发生。有时会在我第一次启动 webpack-dev-server 时发生,但每次编辑源时都会发生。

4

1 回答 1

2

不知道你是否想过这个问题,但是当我在 Windows 10 上使用 webpack 时,我遇到了与格式错误的 node_modules 路径相同的错误。我很失望地发现没有人能够解决这个问题,因为这个特定的错误似乎没有记录在其他任何地方。

在我自己的调试中,我发现这个错误只发生在 webpack 加载器模块上,所以我深入研究了 webpack 以追踪错误的来源。经过一番挖掘,原来这是由 webpack 使用的 loader-runner 包引起的。它尝试使用 System.import 来解析加载器模块,并在 System.import 不可用时回退到 require 。就我而言,格式错误的 node_modules 路径是由 System.import 通过 systemjs 生成的。在 Windows 上使用绝对路径时,System.import 的 systemjs 实现似乎存在错误,并且由于 webpack 为加载程序传递了绝对路径,因此会引发错误。

我可以通过编辑 loader-runner 的本地副本来解决这个问题,并注释掉 System.import,强制它使用 require。当然,这无论如何都不是一个好的长期解决方案,所以我仍在寻找更好的解决方案。我刚刚尝试切换到 yarn 以查看这是否可能是 npm 依赖问题,但如果您在 Windows 上仍然遇到这些错误,此解决方法应该可以让您启动并运行。

于 2016-12-19T08:47:03.950 回答