【发布时间】:2016-10-22 09:29:18
【问题描述】:
我是 webpack 的新手,我已经能够用它来打包我的 javascript,但是 CSS 让我无法理解。我不断收到:
“你可能需要一个合适的加载器来处理这个文件类型”
我的 css 文件的第一行。 CSS文件很简单:
body {
color:red
}
webpack.config.js 看起来像这样:
module.exports = {
debug: true,
entry: [ './sdocs.js' ],
output: {
filename: './[name].bundle.js'
},
loaders: [
{ test: /\.css$/, loader: "style-loader!css-loader" },
],
}
sdocs.js 也很简单,看起来像这样:
require('./sdocs.css');
最后运行webpack的结果是这样的:
ERROR in ./sdocs.css
Module parse failed: C:\Users\Tim\PhpstormProjects\xxx\sdocs.css
Unexpected token (1:5)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token (1:5)
at Parser.pp.raise (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:923:13)
at Parser.pp.unexpected (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:1490:8)
at Parser.pp.semicolon (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:1469:73)
at Parser.pp.parseExpressionStatement (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:1994:8)
at Parser.pp.parseStatement (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:1772:188)
at Parser.pp.parseTopLevel (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:1666:21)
at Parser.parse (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:1632:17)
at Object.parse (C:\Users\Tim\PhpstormProjects\xxx\node_modules\acorn\dist\acorn.js:885:44)
at Parser.parse (C:\Users\Tim\PhpstormProjects\xxx\node_modules\webpack\lib\Parser.js:902:15)
at DependenciesBlock.<anonymous> (C:\Users\Tim\PhpstormProjects\xxx\node_modules\webpack\lib\NormalModule.js:104:16)
at DependenciesBlock.onModuleBuild (C:\Users\Tim\PhpstormProjects\xxx\node_modules\webpack-core\lib\NormalModuleMixin.js:310:10)
at nextLoader (C:\Users\Tim\PhpstormProjects\xxx\node_modules\webpack-core\lib\NormalModuleMixin.js:275:25)
at C:\Users\Tim\PhpstormProjects\xxx\node_modules\webpack-core\lib\NormalModuleMixin.js:259:5
at Storage.finished (C:\Users\Tim\PhpstormProjects\xxx\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:38:16)
at C:\Users\Tim\PhpstormProjects\xxx\node_modules\graceful-fs\graceful-fs.js:78:16
at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:439:3) @ ./sdocs.js 1:0-22
我进行了三次检查,css-loader 和 style-loader 是在本地加载的。起初我将它们安装在全局范围内,但我将它们全局删除并在本地重新安装。顺便说一句,调试标志没有做任何额外的事情,输出没有变化,我认为这很奇怪。
我在 Windows 平台上运行很重要
【问题讨论】:
-
我会四倍检查 CSS 和样式加载器是否在您的节点模块中,然后作为健全性检查,擦除节点模块并重新安装。
-
是的,我检查了四次。我创建了一个单独的项目,全新安装 node_modules,结果相同。我更进一步,启动了一个我安装了 webpack、css-loader 和 style-loader 的 linux VM。并收到同样的错误。除了 webpack、css-loader 和 style-loader 之外,node_modules 中没有任何内容。我厌倦了多个 css 文件,一切都很简单。我将 loader 下 loader 选项的格式从 style-loader!css-loader 改为 style!css。
-
刚新建了一个ubuntu的VM,安装了nodejs,webpack和2个loader,node_modules目录下有css_loader和style_loader的入口,还是不爽。这对我来说一定很愚蠢。
标签: css webpack webpack-style-loader css-loader