UNPKG

3.31 kBJavaScriptView Raw
1/* eslint-disable */
2var webpack = require('webpack');
3var HappyPack = require('happypack');
4var happyThreadPool = HappyPack.ThreadPool({ size: 4 });
5
6var commonConf = {
7 module: {
8 //各种加载器,即让各种文件格式可用require引用
9 loaders: [
10 {
11 test: /\.tag$/,
12 exclude: /node_modules/,
13 loader: ['babel-loader', 'riotjs-loader']
14 },
15 {
16 test: /\.js$/,
17 exclude: /node_modules/,
18 loaders: ['happypack/loader?id=js']
19 },
20 {
21 test: /\.(jpeg|jpg|png|gif)$/,
22 loader: 'url-loader?limit=10240'
23 },
24 {
25 test: /\.html$/,
26 loader: 'html-loader'
27 },
28 {
29 test: /\.json$/, loader: 'json-loader'
30 },
31 {
32 test: /\.woff(\?.+)?$/, loader: "url?limit=10000&mimetype=application/font-woff"
33 },
34 {
35 test: /\.woff2(\?.+)?$/, loader: "url?limit=10000&mimetype=application/font-woff"
36 },
37 {
38 test: /\.ttf(\?.+)?$/, loader: "url?limit=10000&mimetype=application/octet-stream"
39 },
40 {
41 test: /\.eot(\?.+)?$/, loader: "file"
42 },
43 {
44 test: /\.svg(\?.+)?$/, loader: "url?limit=10000&mimetype=image/svg+xml"
45 }
46 ]
47 },
48 resolve: {
49 //配置别名,在项目中可缩减引用路径
50 // alias: {
51 // jquery: srcDir + "/js/lib/jquery.min.js",
52 // core: srcDir + "/js/core",
53 // ui: srcDir + "/js/ui"
54 // }
55 }
56};
57
58var webpackConf = {
59 dev: {
60 devtool: "inline-source-map", //生成sourcemap,便于开发调试
61 //devtool: "cheap-eval-source-map", //快速打包
62 cache: true,
63 plugins: [
64 new HappyPack({
65 id: 'js',
66 cache: true,
67 verbose: false,
68 threadPool: happyThreadPool,
69 loaders: [ 'babel-loader' ]
70 }),
71 ],
72 module: commonConf.module,
73 resolve: commonConf.resolve
74
75 },
76
77 dest: {
78 devtool: false,
79 cache: false,
80 plugins: [
81 new webpack.optimize.ModuleConcatenationPlugin(),
82 new HappyPack({
83 id: 'js',
84 cache: true,
85 verbose: false,
86 threadPool: happyThreadPool,
87 loaders: [ 'babel-loader' ]
88 }),
89 ],
90 module: commonConf.module,
91 resolve: commonConf.resolve
92 }
93};
94
95try {
96 var dllref = new webpack.DllReferencePlugin({
97 context: __dirname,
98 manifest: require('./manifest.json'),
99 });
100 webpackConf.dev.plugins.unshift(dllref);
101 webpackConf.dest.plugins.unshift(dllref);
102}
103catch(e) {
104 console.log('没有生成webpack DllReferencePlugin插件所需的 manifest.json');
105}
106
107//一般来说,RD环境和QA环境打包配置和dest是一致的,但是需要不同的环境变量配置一些参数
108webpackConf.rd = Object.assign(webpackConf.dest, {});
109webpackConf.qa = Object.assign(webpackConf.dest, {});
110
111module.exports = webpackConf;
\No newline at end of file