Skip to content

Commit eac936a

Browse files
committed
feat(pack): 可配置打包前是否清空输出目录
1 parent 6c47c8d commit eac936a

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

lib/commands/pack.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ exports.setOptions = function (optimist) {
1313
optimist.describe('s', '使用sourcemap');
1414
optimist.alias('g', 'group');
1515
optimist.describe('g', 'exports 分组');
16+
optimist.alias('c', 'clean');
17+
optimist.describe('c', '打包前清空输出目录');
1618
};
1719

1820
exports.run = function (options) {
1921
var cwd = options.cwd,
2022
min = options.m || options.min || false,
2123
lint = options.l || options.lint || false,
24+
clean = options.c || options.clean || false,
2225
group = options.g || options.group,
2326
sourcemap = options.s || options.sourcemap,
2427
project = this.project;
@@ -35,7 +38,8 @@ exports.run = function (options) {
3538
project.pack({
3639
lint: lint,
3740
min: min,
38-
sourcemap: sourcemap
41+
sourcemap: sourcemap,
42+
clean: clean
3943
}, function (err, stats) {
4044
if (err) {
4145
if (err !== true) {

lib/models/Project.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,11 @@ var Project = function () {
261261
config.devtool = opt.sourcemap;
262262
}
263263

264-
try {
265-
childProcess.execSync('rm -rf ' + config.output.path);
266-
} catch (e) {}
264+
if (opt.clean) {
265+
try {
266+
childProcess.execSync('rm -rf ' + config.output.path);
267+
} catch (e) {}
268+
}
267269

268270
config.plugins.push(new ProgressBarPlugin());
269271

src/commands/pack.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,15 @@ exports.setOptions = (optimist) => {
1313
optimist.describe('s', '使用sourcemap');
1414
optimist.alias('g', 'group');
1515
optimist.describe('g', 'exports 分组');
16+
optimist.alias('c', 'clean');
17+
optimist.describe('c', '打包前清空输出目录');
1618
};
1719

1820
exports.run = function (options) {
1921
let cwd = options.cwd,
2022
min = options.m || options.min || false,
2123
lint = options.l || options.lint || false,
24+
clean = options.c || options.clean || false,
2225
group = options.g || options.group,
2326
sourcemap = options.s || options.sourcemap,
2427
project = this.project;
@@ -35,7 +38,8 @@ exports.run = function (options) {
3538
project.pack({
3639
lint: lint,
3740
min: min,
38-
sourcemap: sourcemap
41+
sourcemap: sourcemap,
42+
clean: clean
3943
}, (err, stats) => {
4044
if (err) {
4145
if (err !== true) {

src/models/Project.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -232,9 +232,11 @@ class Project {
232232
config.devtool = opt.sourcemap
233233
}
234234

235-
try {
236-
childProcess.execSync('rm -rf ' + config.output.path);
237-
} catch (e) {}
235+
if(opt.clean) {
236+
try {
237+
childProcess.execSync('rm -rf ' + config.output.path);
238+
} catch (e) {}
239+
}
238240

239241
config.plugins.push(new ProgressBarPlugin())
240242

0 commit comments

Comments
 (0)