UNPKG

3.21 kBJavaScriptView Raw
1/* eslint-disable */
2var webpack = require('webpack');
3var HappyPack = require('happypack');
4var happyThreadPool = HappyPack.ThreadPool({ size: 8 });
5
6var commonConf = {
7 module: {
8 //各种加载器,即让各种文件格式可用require引用
9 loaders: [
10 {
11 test: /\.tag$/,
12 exclude: /node_modules/,
13 loader: ['babel-loader?presets=latest', '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: "eval", //快速打包
62 cache: true,
63 plugins: [
64 new webpack.HotModuleReplacementPlugin(),
65 new HappyPack({
66 id: 'js',
67 cache: true,
68 threadPool: happyThreadPool,
69 loaders: [ 'babel-loader?presets=latest' ]
70 })
71 ],
72 module: commonConf.module,
73 resolve: commonConf.resolve
74
75 },
76
77 dest: {
78 devtool: null,
79 cache: false,
80 plugins: [
81 new HappyPack({
82 id: 'js',
83 cache: false,
84 threadPool: happyThreadPool,
85 loaders: [ 'babel-loader?presets=latest' ]
86 })
87 ],
88 module: commonConf.module,
89 resolve: commonConf.resolve
90 }
91};
92
93try {
94 var dllref = new webpack.DllReferencePlugin({
95 context: path.join(__dirname),
96 manifest: require('./manifest.json'),
97 });
98 webpackConf.dev.plugins.unshift(dllref);
99 webpackConf.dest.plugins.unshift(dllref);
100}
101catch(e) {
102 console.log(e);
103}
104
105//一般来说,RD环境和QA环境打包配置和dest是一致的,但是需要不同的环境变量配置一些参数
106webpackConf.rd = Object.assign(webpackConf.dest, {});
107webpackConf.qa = Object.assign(webpackConf.dest, {});
108
109module.exports = webpackConf;
\No newline at end of file