123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- const path = require('path');
- const HtmlWebpackPlugin = require('html-webpack-plugin');
- const merge = require("webpack-merge");
- const webpackConfigBase = require('./webpack.base.js');
- const {CleanWebpackPlugin} = require('clean-webpack-plugin');
- const glob = require("glob")
- const webpack = require('webpack')
- let getModules = function () {
- let modules = [];
- let files = glob.sync('./src/packages/*');
- files.forEach(i => {
- modules.push(i.split('/').pop())
- })
- return modules;
- }
- // const host='127.0.0.1';
- const host='www.dev.kpread.com';
- const devConfig = {
- mode: "development",
- entry: {
- 'cover-select': './src/index.js',
- 'input-search': './src/index.js',
- 'referral-home': './src/index.js',
- 'referral-novel': './src/index.js',
- 'referral-select': './src/index.js',
- 'reply-form': './src/index.js',
- 'reply-form-vip': './src/index.js',
- 'sign-form': './src/index.js',
- 'sign-form-vip': './src/index.js',
- 'subscribe-delay-form': './src/index.js',
- 'subscribe-delay-vip': './src/index.js',
- 'subscribe-form': './src/index.js',
- 'title-select': './src/index.js',
- 'channel-group-select': './src/index.js',
- 'index': './src/index.js',
- },
- resolve: {
- alias: {
- vue$: 'vue/dist/vue.esm.js'
- }
- },
- plugins:[
- new CleanWebpackPlugin(),
- new webpack.HotModuleReplacementPlugin()
- ],
- devServer: {
- host:host,
- contentBase: './dist',
- compress: true,
- port: 9001,
- hot: true,
- open: true,
- proxy: {
- '/admin': {
- target: 'http://'+host,
- changeOrigin: true
- },
- '/':{
- target: 'http://'+host+':9001/index/index.html',
- }
- }
- },
- output:{
- filename: 'main.js',
- path: path.resolve(__dirname, 'dist'),
- publicPath: "/",
- }
- };
- const entries = getModules()
- entries.forEach(module => {
- devConfig.plugins.push(
- new HtmlWebpackPlugin({
- template: path.resolve(__dirname, 'src/packages', module, 'index.html'),
- title: module,
- inject: "head",
- filename: module + "/index.html",
- chunks: [module],
- entries: entries
- }),
- );
- });
- module.exports = merge(devConfig, webpackConfigBase);
|