Skip to content

Commit 81164ff

Browse files
committed
feat: add resolvePreset
1 parent 6c4416f commit 81164ff

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

packages/@vue/cli/lib/Creator.js

+16-10
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ module.exports = class Creator extends EventEmitter {
6363

6464
async create (cliOptions = {}, preset = null) {
6565
const isTestOrDebug = process.env.VUE_CLI_TEST || process.env.VUE_CLI_DEBUG
66-
console.log(cliOptions)
6766
// name: demo
6867
// context: targetDir
6968
const { run, name, context, createCompleteCbs } = this
@@ -271,12 +270,11 @@ module.exports = class Creator extends EventEmitter {
271270
return preset
272271
}
273272

274-
async resolvePreset (name, clone) {
273+
async resolvePreset (name, clone) { // preset name: cli-demo
275274
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] // 获取项目初始化配置
280278
} else if (name.endsWith('.json') || /^\./.test(name) || path.isAbsolute(name)) {
281279
preset = await loadLocalPreset(path.resolve(name))
282280
} else if (name.includes('/')) {
@@ -293,22 +291,30 @@ module.exports = class Creator extends EventEmitter {
293291
}
294292

295293
// 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
297295
preset = defaults.presets.default
298296
}
299297
if (!preset) {
300298
error(`preset "${name}" not found.`)
301299
const presets = Object.keys(savedPresets)
302-
if (presets.length) {
300+
if (presets.length) { // 列出已保存的 preset
303301
log()
304302
log(`available presets:\n${presets.join(`\n`)}`)
305-
} else {
303+
} else { // no preset
306304
log(`you don't seem to have any saved preset.`)
307305
log(`run vue-cli in manual mode to create a preset.`)
308306
}
309307
exit(1)
310308
}
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
312318
}
313319

314320
// { id: options } => [{ id, apply, options }]

0 commit comments

Comments
 (0)