【发布时间】:2021-08-11 09:04:36
【问题描述】:
我在尝试从节点模块导入 CSS 文件时遇到了一个非常特殊的问题。
在我的App.tsx 文件中,我有
import './App.css'; // works
import '@foo/my-dependency/dist/foo.css'; // doesn't work
虽然导入本地 CSS 文件效果很好,但从节点模块导入 foo.css 根本不起作用,但没有观察到编译错误。
如果我将该行更改为require 语法,它可以正常工作。
require('@foo/my-dependency/dist/foo.css'); // works
如果我将其更改为 CSS 模块之类的语法,它也可以正常工作。
import style from '@foo/my-dependency/dist/foo.css'; // works
console.log(style); // to ensure the imported stuff is used at least once
为了支持上面的注释,我需要添加 CSS 模块类型声明,如 here 所述。
我不确定它到底哪里出错了。我在模块规则上的 Webpack 配置如下所示。我使用 webpack 开发服务器进行测试。 Webpack 版本为 5.23.0。
module: {
rules: [
{
test: /\.(jsx?|tsx?)$/,
exclude: /node_modules/,
loader: 'babel-loader',
},
{
test: /\.s?css$/,
use: [
'style-loader',
'css-loader',
'postcss-loader',
'sass-loader',
],
}
],
},
【问题讨论】:
标签: css webpack webpack-dev-server css-loader