我想用webpack编译scss和js。但是,只要我在Symfony 3中使用它,其中只有前端的一些页面使用javascript组件,我想将css编译为独立文件,并使用旧的<link href="style.css">
而不是将css导入到javascript模块中。Webpack 2:从结果中排除css条目
我设法做到以下webpack.config.js
,我应该产生js/script.js
和css/style.css
。 它的工作原理,但它也产生js/style.js
,我不需要也不想要。我想问题是,入口“风格”也产生输出JS,即使通过它处理ExtractTextPlugin,但如何告诉webpack不生成一个条目的JavaScript输出?
我也试过不使用多个入口点并将index.js添加到一个入口点列表main.scss。当然,它并没有产生额外的文件,但是转译后的script.js包含了我不想要的main.scss的引用。我想要一个纯粹的解决方案来管理完全独立于脚本的样式。
const path = require('path');
const outputPath = path.join(__dirname, '..', 'www');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
devtool: 'source-map',
entry: {
script: ['./src/js/index.js'],
style: ['./src/scss/main.scss']
},
target: 'web',
output: {
filename: 'js/[name].js',
path: outputPath
},
resolve: {
extensions: ['.js']
},
module: {
rules: [
{ // sass/scss loader for webpack
test: /\.(sass|scss)$/,
loader: ExtractTextPlugin.extract(['css-loader', 'sass-loader'])
}
]
},
plugins: [
new ExtractTextPlugin({ // define where to save the file
filename: 'css/[name].css',
allChunks: true,
})
]
};
好吧,后面的 - 在构建之后删除不必要的JS - 实际上是我当前的解决方案,因此我将继续使用它。 – amik