我遇到了Webpack解析模块名称的问题。安装了加载器,但Webpack用来尝试解决它们的路径是不正确的(请注意它连接到下面工作目录的模块路径这一事实)。正在使用webpack-dev-server启动Webpack。
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.
相关信息:
编辑:这个通常只有在我进行一次触发热重载的编辑时才会发生。有时它会在我第一次启动webpack-dev-server时发生,但每次编辑源代码时都会发生这种情况。
答案 0 :(得分:2)
不确定你是否想过这个,但是在Windows 10上使用webpack时,我遇到了与格式错误的node_modules路径相同的错误。我很失望地发现没有人能够解决这个问题,因为这个特殊的错误在其他地方似乎没有记录。
在我自己的调试中,我发现这个错误只发生在webpack加载器模块上,所以我挖到webpack来追踪错误的来源。经过一番挖掘后发现,这是由webpack使用的loader-runner包引起的。它尝试使用System.import来解析加载程序模块,当System.import不可用时,需要回退。在我的例子中,System.import通过systemjs生成格式错误的node_modules路径。在Windows上使用绝对路径时,System.import的systemjs实现似乎存在错误,并且由于webpack传递了加载器的绝对路径,因此会抛出错误。
我能够通过编辑loader-runner的本地副本来解决这个问题,并注释掉System.import,强制它使用require。当然,这绝不是一个好的长期解决方案,所以我仍然在寻找更好的东西。我只是尝试切换到纱线,看看是否这可能是一个npm依赖问题,但如果你仍然在Windows上遇到这些错误,这个解决方法应该让你启动并运行。