Javascript Webpack 2多个js条目以及babel和SCS
我正在尝试更新我的网页,以允许我有多个JS文件,这些文件也作为单独的文件输出 在我需要使用多个JS文件之前:Javascript Webpack 2多个js条目以及babel和SCS,javascript,webpack,Javascript,Webpack,我正在尝试更新我的网页,以允许我有多个JS文件,这些文件也作为单独的文件输出 在我需要使用多个JS文件之前: entry: [ 'babel-polyfill', './src/js/main.js', './src/scss/main.scss', ], output: { path: path.resolve(__dirname, './public/wp-content/themes/designdough/'), fi
entry: [
'babel-polyfill',
'./src/js/main.js',
'./src/scss/main.scss',
],
output: {
path: path.resolve(__dirname, './public/wp-content/themes/designdough/'),
filename: 'assets/js/main.min.js',
},
这很有效,但现在我已经将其更新为多个JS文件的对象,这很有效。但是babel polyfill显然没有,虽然我仍然得到一个文件,但它也创建了一个scss.min.js
entry: {
babel: 'babel-polyfill',
app: './src/js/main.js',
banner: './src/js/banner.js',
scss: './src/scss/main.scss',
},
output: {
path: path.resolve(__dirname, './public/wp-content/themes/designdough/'),
filename: 'assets/js/[name].min.js',
},
巴贝尔和SCS现在应该如何添加到条目中
这是我的完整网页2配置:
let webpack = require('webpack');
let path = require('path');
require("babel-polyfill");
let ExtractTextPlugin = require('extract-text-webpack-plugin');
let WebpackNotifierPlugin = require('webpack-notifier');
let inProduction = (process.env.NODE_ENV === 'production');
module.exports = {
entry: [
'babel-polyfill',
'./src/js/main.js',
'./src/scss/main.scss',
],
output: {
path: path.resolve(__dirname, './public/wp-content/themes/designdough/'),
filename: 'assets/js/main.min.js',
},
externals: {
jquery: 'jQuery'
},
module: {
rules: [
{
test: /\.s[ac]ss$/,
use: ExtractTextPlugin.extract({
use: [{
loader: 'css-loader',
options: {
url: false,
minimize: true,
sourceMap: true,
}
},
'sass-loader'
],
fallback: 'style-loader'
})
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
}
]
},
plugins: [
new ExtractTextPlugin('style.css'),
new webpack.LoaderOptionsPlugin({
minimize: inProduction
}),
new WebpackNotifierPlugin({
title: "WP Theme",
contentImage: path.resolve("./public/favicon.ico"),
alwaysNotify: true,
})
]
};
if (inProduction) {
module.exports.plugins.push(
new webpack.optimize.UglifyJsPlugin()
)
}
以前的输出:
assets/js/main.min.js 987 kB 0 [emitted]
style.css 86.2 kB 0 [emitted]
现在输出:
assets/js/babel.min.js 264 kB 0 [emitted] babel
assets/js/app.min.js 726 kB 1 [emitted] app
assets/js/banner.min.js 93.5 kB 2 [emitted] banner
assets/js/scss.min.js 2.52 kB 3 [emitted] scss
style.css 86.2 kB 3 [emitted]
应该是这样的:
entry: {
vendor: [
'babel-polyfill' // put all your vendor in this
]
app: './src/js/main.js',
banner: './src/js/banner.js',
// scss: './src/scss/main.scss', // remove this
},
看。入口点仅用于js文件
ExtractTextPlugin
将从js文件中提取css。您能显示错误吗?我已经更新了帖子以包含输出。但这不是一个这样的错误,这是我的错误配置,只是不知道如何正确配置它使用巴贝尔和scss。谢谢!那么,我现在应该在main.js
中导入我的main.scss
文件吗?我是否可以像以前那样将SCS保存在我的网页中?'./src/scss/main.scss'
?main:['./src/js/main.js','./src/scss/main.scss'.
已经完成了工作:)