本文介绍了如何在webpack 2的css文件中分割less文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以在webpack2的< style>< / style>
但我无法将less文件编译为CSS文件。
I do can compile the less on the page within the <style></style>
by webpack2. but I can't compile the less file into a CSS file.
webpack.config.js:
webpack.config.js:
var path = require('path');
var webpack = require('webpack');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var ENV = process.env.NODE_ENV;
var port = '10101';
var commonAttr = ['common', 'markerFactory', 'sceneTransform', 'sparFactory', 'upload'];
var vendorArr = [];
for (var i = 0, l = commonAttr.length; i < l; i++) {
vendorArr.push(path.resolve(__dirname + '/script/common/', commonAttr[i] + '.js'))
}
var config = {
entry: {
vendor: vendorArr,
app: './script/app',
},
output: {
path: path.resolve(__dirname, 'wds'),
filename: '[name].bundle.js',
publicPath: '/wds/'
},
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: 'babel-loader'
},
// // this option will compile the less to css, and append style tag to the page
{
test: /\.less$/,
use: [
"style-loader",
"css-loader",
"less-loader"
]
},
// I tried to split the css file into a indenpendent file, but it didn't work
{
test: /\.less$/,
use: {
loader: ExtractTextPlugin.extract({
fallbackLoader: "style-loader",
loader: "css-loader!less-loader",
})
}
},
{
test: /\.html$/,
use: "handlebars-loader?helperDirs[]=" + __dirname + "/script/helpers"
}]
},
plugins: [
new ExtractTextPlugin('[name].bundle.css'),
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
filename: "vendor.js"
})
],
watchOptions: {
aggregateTimeout: 300,
poll: 1000
},
devServer: {
compress: true,
// hot: true,
publicPath: '/wds/', //可访问的路径地址
port: port
}
}
if (ENV == 'development') {
config.devtool = 'inline-source-map'; // 将模块单独编译 成 单个文件 浏览器可调试
} else {
config.devtool = 'eval-source-map'; // 将模块压缩一个文件一行 打包进bundle
}
var compiler = webpack(config);
module.exports = config;
但它会出现以下错误:
如果我不使用规则
中的
ExtractTextPlugin
code> loader
,它可以编译为样式标签。这在哪里出错了?
If I don't use the ExtractTextPlugin
in rules
use
loader
, it can compile to style tag. Where is this going wrong?
推荐答案
对不起,我解决了!
define: p>
define:
var extractLESS = new ExtractTextPlugin('[name].bundle.css');
模块:
rules:[{
test: /\.less$/,
use: extractLESS.extract([ 'css-loader', 'less-loader' ])
}]
插件:
plugins: [
extractLESS,
new webpack.optimize.CommonsChunkPlugin({
name: "vendor",
filename: "vendor.js"
})
],
这篇关于如何在webpack 2的css文件中分割less文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!