14 Star 59 Fork 2

sosnail / sosnail

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
webpack.config.js 2.76 KB
一键复制 编辑 原始数据 按行查看 历史
sosnail 提交于 2017-09-25 11:19 . [add] add identicon method
/**
* @Author: gaomingjun
* @Date: 2017-09-08 10:12:35
* @Last modified by: gaomingjun
* @Last modified time: 2017-09-23 15:57:57
*/
const DEBUG = process.env.NODE_ENV === 'development';
process.noDeprecation = true;
const pkg = require('./package.json');
const path = require('path');
const webpack = require('webpack');
const uglifyJsPlugin = webpack.optimize.UglifyJsPlugin;
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CleanWebpackPlugin = require('clean-webpack-plugin');
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
const publicPath = '/';
const DEV_PATH = path.join(process.cwd(), 'src');
const PRO_PATH = path.join(process.cwd(), 'dist');
const EXA_PATH = path.join(process.cwd(), 'example');
let entry = {}; //基础入口文件
if (DEBUG) {
entry = {
'simple': path.resolve(EXA_PATH, 'simple.js')
};
} else {
entry = {
'sosnail': path.resolve(DEV_PATH, 'sosnail.js')
};
};
const loaders = {
'babelLoader': {
'loader': 'babel-loader',
'options': {
'compact': false,
'presets': ['env', 'es2015']
}
}
};
let plugins = [
new webpack.BannerPlugin(`version: ${pkg.version}`),
//new ProgressPlugin(),
new webpack.DefinePlugin({
'process': {
'env': {
'NODE_ENV': '"' + process.env.NODE_ENV + '"'
}
}
}),
new webpack.LoaderOptionsPlugin({
'debug': DEBUG
}),
//提供全局的变量,在模块中使用无需用require引入
new HtmlWebpackPlugin({
'env': process.env.NODE_ENV,
'filename': 'index.html',
'template': path.resolve(DEV_PATH, 'index.html'),
'hash': !DEBUG,
'cache': !DEBUG,
'inject': true,
'minify': {
'removeComments': true,
'collapseWhitespace': true
}
})
];
if (!DEBUG) {
plugins.unshift(new CleanWebpackPlugin([path.resolve(PRO_PATH, '**/*')], {
'root': PRO_PATH,
'verbose': true,
'dry': false,
'exclude': []
}));
plugins.push(new uglifyJsPlugin({
'compress': {
'warnings': false
}
}));
}
module.exports = {
'devtool': DEBUG ? '#cheap-module-eval-source-map' : '#source-map',
'cache': !DEBUG,
'devServer': {
'contentBase': PRO_PATH,
'compress': false,
'noInfo': true,
'host': '0.0.0.0',
'overlay': {
'warnings': false,
'errors': true
}
},
'entry': entry,
'output': {
'path': PRO_PATH,
'publicPath': '/',
'filename': '[name].min.js',
'libraryTarget': 'umd',
'library': 'sosnail'
},
'resolve': {
'modules': [
DEV_PATH,
PRO_PATH,
path.resolve(process.cwd(), 'example'),
path.resolve(process.cwd(), 'node_modules')
]
},
'module': {
'rules': [{
'test': /\.js$/,
'exclude': /node_modules/,
'use': loaders.babelLoader
}]
},
'plugins': plugins
};
JavaScript
1
https://gitee.com/sosnail/sosnail.git
git@gitee.com:sosnail/sosnail.git
sosnail
sosnail
sosnail
master

搜索帮助