【发布时间】:2018-08-26 22:30:43
【问题描述】:
我以前用javascript直接导入import '!style-loader!css-loader!../../node_modules/react-soundplayer/styles/buttons.css',但是太丑了,我不喜欢
在我的 react 组件中,我想指定一个 css-module
import style from './style/App.css',在App.css,我有
:global (@import '~react-soundplayer/styles/buttons.css');
:global 不起作用,它只是打印“:global (@import '~basscss/css/basscss.css');”在 webpack 之后 HTML 头部的样式元素中。
我需要一种方法将我的 .css 中的 node_modules 内容导入为 全局 css 并保留原始类名(不应用 css-loader localIdentName: '[path][name]__[local]')
我的 webpack.config 是
const path = require('path');
const package = require('./package.json');
const PATHS = {
src: path.join(__dirname, './src'),
public: path.join(__dirname, './public')
};
var config = {
entry: {
app: [ 'babel-polyfill', path.resolve(PATHS.src, 'index.js') ]
},
output: {
path: path.resolve(PATHS.public),
filename: 'bundle.js',
publicPath: '/'
},
devServer: {
contentBase: path.resolve(PATHS.public),
port: 3000,
historyApiFallback: true,
proxy: {
'/api/**': {
target: 'http://localhost:5000',
changeOrigin: true
}
}
},
module: {
rules: [
{
test: /\.js$/,
use: [
{
loader: 'babel-loader'
}
],
exclude: /(node_modules|bower_components)/
},
{
test: /\.css$/,
use: [
{
loader: 'style-loader',
options: { singleton: true }
},
{
loader: 'css-loader',
options: {
modules: true,
camelCase: 'dashes',
localIdentName: '[path][name]__[local]'
}
}
]
}
]
}
};
module.exports = config;
【问题讨论】:
标签: webpack webpack-style-loader css-modules css-loader