-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.config.js
More file actions
65 lines (57 loc) · 1.63 KB
/
webpack.config.js
File metadata and controls
65 lines (57 loc) · 1.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
var path = require('path');
// Normalize sourcemap ids
function devtoolModuleFilenameTemplate(info)
{
id = info.resourcePath;
if (id.indexOf('webpack/bootstrap') == 0)
id = 'webpack/bootstrap';
else
if (id.indexOf('external') == 0 || id.indexOf('./aaa.js') == 0)
id = '(substituted module)';
console.log('source', info.resourcePath, '>>>', id);
return id;
}
// When ./aaa is defined as an external, make the code added to webpack identical to the 'aaa.js' located in this package
function externalize_aaa(context, request, callback)
{
// Ensure code added to bundle is identical to ./aaa.js
if (request == './aaa')
return callback(null, 'var window.urlUtil');
callback();
}
var entryFile = './index.js';
var sourceMapType = 'cheap-module-source-map';
module.exports =
[
// Treat './aaa' as an external (resolve to window.urlUtil)
{
entry: entryFile,
devtool: sourceMapType,
externals:
[
externalize_aaa
],
output:
{
filename : 'index.build.js',
path: path.resolve(__dirname, 'build-bad'),
devtoolModuleFilenameTemplate:devtoolModuleFilenameTemplate
},
devServer:
{
hot:false,
inline:false
}
},
// Normal build where all dependencies are included
{
entry: entryFile,
devtool: sourceMapType,
output:
{
filename : 'index.build.js',
path: path.resolve(__dirname, 'build-good'),
devtoolModuleFilenameTemplate:devtoolModuleFilenameTemplate
}
}
];