123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- const webpack = require('webpack');
- const path = require('path');
- const ExtractTextPlugin = require("extract-text-webpack-plugin");
- const env = process.env
- module.exports = {
- entry: {
- main : "./main.js",
- vendors: ['jquery', 'rem', 'vue'],
- },
- output: {
- },
- resolve: {
- extensions: ['.js', '.vue', '.scss'],
- alias: {
- "vue": 'vue/dist/vue.esm.js',
- "rem": path.resolve(__dirname, './depend/rem/rem.js'),
- "popup": path.resolve(__dirname, './depend/artDialog/popup.js'),
- "dialog-config": path.resolve(__dirname, './depend/artDialog/dialog-config.js'),
- "form": path.resolve(__dirname, './depend/form/form.js'),
- "md5": path.resolve(__dirname, './depend/md5/md5.js'),
- "template": path.resolve(__dirname, './depend/artTemplate/template.js'),
- "cookie": path.resolve(__dirname, './depend/cookie/cookie.js'),
- "store": path.resolve(__dirname, './depend/store/store.js'),
- "jweixin": path.resolve(__dirname, './depend/jweixin/jweixin-1.0.0.js'),
- "lib": path.resolve(__dirname, './depend/lib/lib.js'),
- "BDY": path.resolve(__dirname, './depend/BDY/BDY.js'),
- "lrz": path.resolve(__dirname, './depend/localResizeIMG/lrz.all.bundle.js'),
- "nprogress": path.resolve(__dirname, './depend/nprogress/nprogress.js'),
- "extSdk": path.resolve(__dirname, './depend/extSdk/extSdk.js'),
- "swiper": path.resolve(__dirname, './depend/swiper/swiper-3.4.2.jquery.min.js'),
- "lazyload": path.resolve(__dirname, './depend/lazyload/jquery.lazyload.js')
- }
- },
- module: {
- rules: [{
- test: /\.js$/,
- exclude: /(node_modules|bower_components)/,
- use: {
- loader : 'babel-loader',
- options : {
- presets : ['es2015']
- }
- }
- },{
- test: /\.vue$/,
- loader: 'vue-loader',
- options: {
- loaders: {
- css: ExtractTextPlugin.extract({
- fallback: "vue-style-loader",
- use: "css-loader",
- publicPath: './'
- }),
- scss: ExtractTextPlugin.extract({
- fallback: "vue-style-loader",
- use: "sass-loader",
- publicPath: './'
- })
- }
- }
- },{
- test: /\.css$/,
- use: ExtractTextPlugin.extract({
- fallback: "style-loader",
- use: "css-loader",
- publicPath: './'
- })
- },{
- test: /\.scss$/,
- use: ExtractTextPlugin.extract({
- fallback: "style-loader",
- use: [{
- loader: "css-loader",
- options: {
- minimize: env.npm_lifecycle_event === 'build' ? true : false
- }
- }, {
- loader: "sass-loader"
- }],
- publicPath: './'
- })
- },{
- test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/,
- use: 'url-loader?limit=50000'
- },{
- test: /\.(html|tpl)$/,
- use: 'html-loader'
- },{
- test: /\.json$/,
- use: 'json-loader'
- }]
- },
- // babel: {
- // presets: ['es2015']
- // },
- plugins: [
- new webpack.optimize.ModuleConcatenationPlugin(),
- new webpack.HotModuleReplacementPlugin(),
- new webpack.LoaderOptionsPlugin({
- minimize: true
- })
- ]
- // extraPath: "../"
- };
|