@@ -63,7 +63,6 @@ module.exports = class Creator extends EventEmitter {
63
63
64
64
async create ( cliOptions = { } , preset = null ) {
65
65
const isTestOrDebug = process . env . VUE_CLI_TEST || process . env . VUE_CLI_DEBUG
66
- console . log ( cliOptions )
67
66
// name: demo
68
67
// context: targetDir
69
68
const { run, name, context, createCompleteCbs } = this
@@ -271,12 +270,11 @@ module.exports = class Creator extends EventEmitter {
271
270
return preset
272
271
}
273
272
274
- async resolvePreset ( name , clone ) {
273
+ async resolvePreset ( name , clone ) { // preset name: cli-demo
275
274
let preset
276
- const savedPresets = loadOptions ( ) . presets || { }
277
-
278
- if ( name in savedPresets ) {
279
- preset = savedPresets [ name ]
275
+ const savedPresets = loadOptions ( ) . presets || { } // 获取 .vuerc 中保存的 preset
276
+ if ( name in savedPresets ) { // 如果 -p 的 preset 在 .vuerc 中存在 eg: cli-demo
277
+ preset = savedPresets [ name ] // 获取项目初始化配置
280
278
} else if ( name . endsWith ( '.json' ) || / ^ \. / . test ( name ) || path . isAbsolute ( name ) ) {
281
279
preset = await loadLocalPreset ( path . resolve ( name ) )
282
280
} else if ( name . includes ( '/' ) ) {
@@ -293,22 +291,30 @@ module.exports = class Creator extends EventEmitter {
293
291
}
294
292
295
293
// use default preset if user has not overwritten it
296
- if ( name === 'default' && ! preset ) {
294
+ if ( name === 'default' && ! preset ) { // defaultPreset eg: vue create demo -p default
297
295
preset = defaults . presets . default
298
296
}
299
297
if ( ! preset ) {
300
298
error ( `preset "${ name } " not found.` )
301
299
const presets = Object . keys ( savedPresets )
302
- if ( presets . length ) {
300
+ if ( presets . length ) { // 列出已保存的 preset
303
301
log ( )
304
302
log ( `available presets:\n${ presets . join ( `\n` ) } ` )
305
- } else {
303
+ } else { // no preset
306
304
log ( `you don't seem to have any saved preset.` )
307
305
log ( `run vue-cli in manual mode to create a preset.` )
308
306
}
309
307
exit ( 1 )
310
308
}
311
- return preset
309
+ // preset
310
+ /* {
311
+ useConfigFiles: true,
312
+ plugins: {
313
+ '@vue /cli-plugin-babel': {},
314
+ '@vue/cli-plugin-eslint': [Object]
315
+ }
316
+ } */
317
+ return preset
312
318
}
313
319
314
320
// { id: options } => [{ id, apply, options }]
0 commit comments