zoukankan      html  css  js  c++  java
  • webpack.base.config

    /**
     * Created by wensonsmith on 2017/12/5.
     */
    const path = require('path')
    const webpack = require('webpack')
    const HtmlWebpackPlugin = require('html-webpack-plugin')
    const ExtractTextPlugin = require('extract-text-webpack-plugin')
    
    let isProd = process.env.NODE_ENV === 'production'
    
    module.exports = {
        entry: {
            main: './main',
            vendors: ['vue', 'vuex', 'vue-router', 'axios'],
        },
        output: {
            path: path.join(__dirname, '../dist'),
            publicPath: '/'
        },
        module: {
            rules: [{
                    test: /.vue$/,
                    loader: 'vue-loader',
                    options: {
                        loaders: {
    
                            sass: ExtractTextPlugin.extract({
                                use: [
                                    { loader: 'css-loader', options: { minimize: isProd, sourceMap: !isProd } },
                                    { loader: 'postcss-loader', options: { sourceMap: !isProd } },
                                    { loader: 'sass-loader', options: { sourceMap: !isProd } }
                                ],
                                fallback: 'vue-style-loader'
                            }),
    
                            css: ExtractTextPlugin.extract({
                                use: [
                                    { loader: 'css-loader', options: { minimize: isProd, sourceMap: !isProd } },
                                    { loader: 'postcss-loader', options: { sourceMap: !isProd } },
                                ],
                                fallback: 'vue-style-loader'
                            }),
    
                            less: ExtractTextPlugin.extract({
                                use: [
                                    { loader: 'css-loader', options: { minimize: isProd, sourceMap: !isProd } },
                                    { loader: 'postcss-loader', options: { sourceMap: !isProd } },
                                    { loader: 'less-loader', options: { sourceMap: !isProd } }
                                ],
                                fallback: 'vue-style-loader'
                            })
                        }
                    }
                },
                {
                    test: /.js$/,
                    loader: 'babel-loader',
                    exclude: /node_modules/
                },
                {
                    test: /.css$/,
                    use: ExtractTextPlugin.extract({
                        use: [
                            { loader: 'css-loader', options: { minimize: isProd, sourceMap: !isProd } },
                            { loader: 'postcss-loader', options: { sourceMap: !isProd } },
                        ],
                        fallback: 'style-loader'
                    })
                },
    
                {
                    test: /.sass/,
                    use: ExtractTextPlugin.extract({
                        use: [
                            { loader: 'css-loader', options: { minimize: isProd, sourceMap: !isProd } },
                            { loader: 'postcss-loader', options: { sourceMap: !isProd } },
                            { loader: 'sass-loader', options: { sourceMap: !isProd } }
                        ],
                        fallback: 'style-loader'
                    })
                },
    
                {
                    test: /.less/,
                    use: ExtractTextPlugin.extract({
                        use: [
                            { loader: 'css-loader', options: { minimize: isProd, sourceMap: !isProd } },
                            { loader: 'postcss-loader', options: { sourceMap: !isProd } },
                            { loader: 'less-loader', options: { sourceMap: !isProd } }
                        ],
                        fallback: 'style-loader'
                    })
                },
    
                {
                    test: /.(woff|eot|ttf)??.*$/,
                    use: [{
                        loader: 'url-loader',
                        options: {
                            limit: 1024,
                            name: 'fonts/[name].[ext]'
                        }
                    }]
                },
    
                {
                    test: /.(gif|jpg|png|svg)??.*$/,
                    use: [{
                        loader: 'url-loader',
                        options: {
                            limit: 1024,
                            name: 'images/[name].[ext]'
                        }
                    }]
                },
    
                {
                    test: /.(html|tpl)$/,
                    loader: 'html-loader'
                }
            ]
        },
        resolve: {
            extensions: ['.js', '.vue'],
            alias: {
                'vue': 'vue/dist/vue.esm.js',
                'assets': path.resolve('src/assets') //可以在文件中使用 ~assets 访问
            }
        },
        plugins: [
            new webpack.optimize.CommonsChunkPlugin({
                name: 'plugins',
                filename: 'plugins.[hash:8].js',
                chunks: ['main', 'plugins']
            }),
            new webpack.optimize.CommonsChunkPlugin({
                name: 'vendors',
                filename: 'vendors.[hash:8].js',
                chunks: ['plugins']
            }),
            // new HtmlWebpackPlugin({
            //     filename: 'index.html',
            //     template: './index.html',
            //     inject: true,
            //     chunksSortMode: 'dependency'
            // }),
            new HtmlWebpackPlugin({
                filename: '../../../../modules/tuition/views/tuition-order/index.php',
                template: './index.html',
                inject: true,
                chunksSortMode: 'dependency'
            }),
    
        ]
    }
  • 相关阅读:
    eventbus3-intellij-plugin插件搜不到
    flutter控件之CheckBox
    Java中常见数据结构:list与map -底层如何实现
    flutter控件之RadioButton
    git add Untracked files
    执行git push出现"Everything up-to-date"
    用flutter写一个精美的登录页面
    Android Studio最全插件整理
    Mac下git的环境搭建和基本使用
    上周热点回顾(7.1-7.7)团队
  • 原文地址:https://www.cnblogs.com/MR-cui/p/8397868.html
Copyright © 2011-2022 走看看