之前由于是内网环境下,要求前端搭建一个脚手架供内网的开发人员使用,在网上也找了相关的例子,最终以官方提供的vue-cli-2提供的模板,定制了脚手架。这里简单的说明一下其中的过程并且记录一下:
之前一直是通过 vue init webpack projectName 来创建项目的,这里实际上是通过命令下载github仓库的代码到本地,并和里面的代码进行交互,询问是否配置es-lint、vue-router等,然后下载相应的依赖。 而我要做的是搭建自己的脚手架,通过命令 ryvue init 模板名称 项目名称来实现。
首先下载github上的vue-cli的官方模板,这里一定要是vue-cli-2的(vue-cli-3是可视化的,目前我也没弄过),用vscode打开:可以看到如下目录:

调整一下,把相关命令换成 "ryvue"的形式,

package.json里面的 也要调整,调整 name和bin

我们之前通过命令 vue init webpack projectName 来进行下载的。这里看下 vue-init 对应的 ryvue-init 文件 :
这里只看下 如何从gitlab下拉取代码:
checkVersion(() => {
if (!hasSlash) {
// use official templates 使用官方模板 gitlab 相当于 https://gitlab
// 如果是内网搭建了 http://gitlab 可以从修改node_modules里面的源码入手
const officialTemplate = 'gitlab:qq122110308/' + template
if (template.indexOf('#') !== -1) {
downloadAndGenerate(officialTemplate)
} else {
if (template.indexOf('-2.0') !== -1) {
warnings.v2SuffixTemplatesDeprecated(template, inPlace ? '' : name)
return
}
// warnings.v2BranchIsNowDefault(template, inPlace ? '' : name)
downloadAndGenerate(officialTemplate)
}
} else {
downloadAndGenerate(template)
}
})
template 就是对应我们的 vue init templateName projectName ,也是我们从github拉取的vue-template,这里简单展示一下:
通过 ryvue init cud-template myproject 运行 下载项目。
当然这里如果要用 ryvue命令,我们得先把项目打成一个npm包到npm官网仓库(测试的话记得删除哟!),然后通过npm install下载
通过 npm pack 打成 tgz ,然后登陆 npm login (现在 npm官网注册账号),再执行 npm publish 。通过 npm install ryvue -g 来下载。
下载后一般在这里可以找到:
C:\Users\当前用户名\AppData\Roaming\npm

最后通过 ryvue init template projectName 来初始化项目。
1132



被折叠的 条评论
为什么被折叠?



