使用 webpack 打包 css
2017-03-18
6296
我是 webpack 新手。我正在使用它来打包一个 aurelia 应用网站。
它打包了 html,还找到了所有图像并将它们放入 dist 文件夹中。这有效并且运行时没有错误。
现在我想以同样的方式打包 css。我希望 css 像图像一样移动到“dist”文件夹。
但是,当我运行 build 时,webpack 似乎没有处理 css。没有关于找到 css 的消息,就像图像一样。
这是我期望 webpack 处理的内容:
<link href="../css/main.css" rel="stylesheet">
我做错了什么吗?
const path = require("path");
const {AureliaPlugin} = require("aurelia-webpack-plugin");
const webpack = require("webpack");
module.exports = {
entry: { main: "aurelia-bootstrapper" },
///dev
devtool: 'source-map',
///Prod
//devtool: 'source-map',
output: {
path: path.join(__dirname, "wwwroot", "dist"),
filename: "app.js",
publicPath: "/dist/",
},
resolve: {
extensions: [".js"],
modules: ["App", "node_modules"],
},
module: {
rules: [
{ test: /\.html$/i, loaders: "html-loader" },
{ test: /\.css$/, loader: "style-loader!css-loader" }, {
test: /\.(jpe?g|png|gif|svg)$/i, loader: "file-loader", options: {
name: './images/[name].[hash].[ext]',
}
}
]
},
plugins: [
new AureliaPlugin()
]
};
1个回答
默认情况下,css 将嵌入到您的 app.js 中。如果您想要将它们分开,请结合使用 css-loader 和 ExtractTextPlugin:
const ExtractTextPlugin = require('extract-text-webpack-plugin');
module: {
rules: [
{
test: /\.css$/,
exclude: /node_modules/,
loader: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
}
]
},
plugins: [
new ExtractTextPlugin("styles.css")
]
还请注意在您的 html 文件中引用添加的 css:
<link rel="stylesheet" href="/dist/styles.css">
https://github.com/webpack-contrib/extract-text-webpack-plugin
Ain
2017-03-18