当我使用 webpack 打包我的 css 文件时出了点问题
something wrong when i using webpack in packing my css file
我正在使用webpack打包我的css文件,我的webpack版本是2.4.1
,我按照官方文档webconfig method to use loader;
我的网络配置文件:
var path=require("path");
module.exports={
entry:"./js/main.js",
output:{
path:path.join(__dirname,"js/build"),
filename:"bundle.js"
},
module: {
loaders: [
{test:/\.css$/,loader:"css-loader!style-loader"},
{test: /\.js$/, loader: 'jsx-loader'}
]
}
}
main.js
// my entry file main.js
var React=require("react");
var path=require("path")
var ReactDOM=require("react-dom");
var MessageBoard=require("../component/messageBoard");
require("../css/main.css"); //I require the css file there
ReactDOM.render(<MessageBoard title="message"/>,
document.getElementById("container")
)
错误日志:
那我也不知道为什么,换个方式试试
module: {
loaders: [
//{test:/\.css$/,loader:"css-loader!style-loader"}, I delete this config
{test: /\.js$/, loader: 'jsx-loader'}
]
}
main.js
var React=require("react");
var path=require("path")
var ReactDOM=require("react-dom");
var MessageBoard=require("../component/messageBoard");
require("style-loader!css-loader!../css/main.css");//use this way
ReactDOM.render(<MessageBoard title="message"/>,
document.getElementById("container")
)
这样,效果不错,肯定是第一种方法有问题,谢谢~
您的装载机顺序相反。
改变这个:
{test:/\.css$/,loader:"css-loader!style-loader"}
对此:
{test:/\.css$/,loader:"style-loader!css-loader"}
加载程序的顺序是从右到左。
之所以有效,是因为顺序正确:
require("style-loader!css-loader!../css/main.css");//use this way
我正在使用webpack打包我的css文件,我的webpack版本是2.4.1
,我按照官方文档webconfig method to use loader;
我的网络配置文件:
var path=require("path");
module.exports={
entry:"./js/main.js",
output:{
path:path.join(__dirname,"js/build"),
filename:"bundle.js"
},
module: {
loaders: [
{test:/\.css$/,loader:"css-loader!style-loader"},
{test: /\.js$/, loader: 'jsx-loader'}
]
}
}
main.js
// my entry file main.js
var React=require("react");
var path=require("path")
var ReactDOM=require("react-dom");
var MessageBoard=require("../component/messageBoard");
require("../css/main.css"); //I require the css file there
ReactDOM.render(<MessageBoard title="message"/>,
document.getElementById("container")
)
错误日志:
那我也不知道为什么,换个方式试试
module: {
loaders: [
//{test:/\.css$/,loader:"css-loader!style-loader"}, I delete this config
{test: /\.js$/, loader: 'jsx-loader'}
]
}
main.js
var React=require("react");
var path=require("path")
var ReactDOM=require("react-dom");
var MessageBoard=require("../component/messageBoard");
require("style-loader!css-loader!../css/main.css");//use this way
ReactDOM.render(<MessageBoard title="message"/>,
document.getElementById("container")
)
这样,效果不错,肯定是第一种方法有问题,谢谢~
您的装载机顺序相反。
改变这个:
{test:/\.css$/,loader:"css-loader!style-loader"}
对此:
{test:/\.css$/,loader:"style-loader!css-loader"}
加载程序的顺序是从右到左。
之所以有效,是因为顺序正确:
require("style-loader!css-loader!../css/main.css");//use this way