【发布时间】:2015-06-26 03:24:05
【问题描述】:
我正在尝试使用 ExtractTextPlugin 让 css 需要在 webpack 中工作,但没有成功
我想要一个单独的 css 文件而不是内联任何 css。
这是我的 webpack 配置:
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
devtool: 'eval',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./scripts/index'
],
output: {
path: path.join(__dirname, 'build'),
filename: 'bundle.js',
publicPath: '/scripts/'
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new ExtractTextPlugin('styles/styles.css', {
allChunks: true
})
],
resolve: {
extensions: ['', '.js', '.jsx']
},
module: {
loaders: [{
test: /\.jsx?$/,
loaders: ['react-hot', 'babel'],
include: path.join(__dirname, 'scripts')
},
{
test: /\.css$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
}]
}
};
index.js:
import React from 'react';
import App from './App';
React.render(<App />, document.getElementById('root'));
App.js:
import React from 'react';
require('../styles/app.css');
export default class App extends React.Component {
render() {
return (
<h1>Hello, world.</h1>
);
}
}
index.html:
<html>
<head>
<link rel="stylesheet" href="/styles/styles.css">
</head>
<body>
<div id='root'></div>
</body>
<script src="/scripts/bundle.js"></script>
</html>
styles.css 返回 404
知道这里可能出了什么问题。如果我不使用 ExtractTextPlugin 而只是在配置中执行此操作:
module: {
loaders: [
{ test: /\.css$/, loader: "style-loader!css-loader" }
]
}
然后我将 css 正确应用到页面,但显然这不是来自 css 文件
这是我第一次尝试使用 webpack,所以可能会犯一些菜鸟错误
有什么想法吗?
【问题讨论】:
-
我设法让它与 font-awesome-webpack 一起工作,但我也遇到了 css 问题。 npmjs.com/package/…
-
可以搭建一个独立的项目(即GitHub)来学习吗?
-
您能否将答案标记为已接受或描述什么不起作用?
标签: webpack