1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 'use strict';
- const path = require('path');
- const resolve = function (src) {
- return path.resolve(__dirname, src);
- };
- const config = require('../config');
- const utils = require('./utils');
- const env = process.env.NODE_ENV;
- const urlPath = env === 'production' ? utils.assetsPath('img/[name].[hash:7].[ext]') : "img/[name].[hash:7].[ext]";
- const fontPath = env === 'production' ? utils.assetsPath('font/[name].[hash:7].[ext]') : "font/[name].[hash:7].[ext]";
- module.exports = {
- entry: {
- main:['./src/main.js']
- },// 配置需要打包的入口文件
- output: {
- path: config.build.assetsRoot,// 输出文件根目录
- filename: '[name].js',//输出文件路径和名字
- publicPath: env === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath
- },
- resolve: {
- extensions: [".js",'.jsx',".json"],
- alias: {
- '@': resolve('../src'),
- '@src': resolve('../src'),
- '@common': resolve('../src/common'),
- '@commonComp': resolve('../src/common/components'),
- '@less': resolve('../src/common/less'),
- '@mixin': resolve('../src/common/less/mixin.less'),
- '@images': resolve('../src/common/images'),
- '@components': resolve('../src/components'),
- '@containers': resolve('../src/containers'),
- '@modules': resolve('../src/module'),
- '@mock': resolve('../src/mock/'),
- '@utils': resolve('../src/utils'),
- '@lib': resolve('../src/lib'),
- '@store': resolve('../src/store'),
- '@asyncActions': resolve('../src/store/async-actions'),
- '@actions': resolve('../src/store/actions'),
- '@reducers': resolve('../src/store/reducers'),
- '@types': resolve('../src/store/types'),
- '@config':resolve('../src/config')
- }
- },
- module: {
- rules: [
- {
- test: /\.(js|jsx)$/,
- loader: 'babel-loader',
- exclude: /node_modules/
- },
- {
- test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
- loader: 'url-loader',
- options: {
- limit: 8196,
- publicPath: '../../',
- name:urlPath,
- }
- },
- {
- test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
- loader: 'url-loader',
- options: {
- limit: 8196,
- publicPath: '../../',
- name:fontPath,
- }
- }
- ]
- }
- };
|