在写Vue程序过程中遇到错误:

ERROR in ./src/assests/styles/test.css
Module build failed: Unknown word (2:1)

  1 |
> 2 | var content = require("!!./test.css");
    | ^
  3 |
  4 | if(typeof content === 'string') content = [[module.id, content, '']];
  5 |

 @ ./src/index.js 4:0-34
npm ERR! code ELIFECYCLE
npm ERR! errno 2
npm ERR! vuejs-todolist@1.0.0 build: `webpack --config webpack.config.js`
npm ERR! Exit status 2
npm ERR!
npm ERR! Failed at the vuejs-todolist@1.0.0 build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

原因:
是在webpack.config.js文件中写成:

 {//加载资源
                test:/\.css$/,
                use:[//读取css文件  
                 'css-loader',
                 'style-loader',//将js文件读取到html                
                ]
            }

正确写法:

{//加载资源
                test:/\.css$/,
                use:[//读取css文件  
                 'style-loader',//将js文件读取到html中
                 'css-loader',
                ]
            }

解析:
css-loader使你能够使用类似@import和url()方法实现require的功能
style-loader将所有的计算后的样式加入页面中
二者使你能把样式表嵌入webpack打包后的js文件中。

因此,在遇到后缀为.css的文件,webpack先用css-loader加载器去解析这个文件,遇到“@import”等语句就将相应样式文件引入(若没有css-loader,就没法解析这类语句),计算完的css,将会使用style-loader生成一个内容为最终解析完的css代码的style标签,放到head标签里。

webpack肯定是先将所有css模块依赖解析完得到计算结果再创建style标签

loader是有顺序的,但是要把style-loader放在css-loader的前面(webpack loader的执行顺序是从右到左)

Logo

前往低代码交流专区

更多推荐