Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

解析模版目录中的package.json格式错误 #9

Open
PoisonSnowFlying opened this issue Dec 21, 2023 · 3 comments
Open

解析模版目录中的package.json格式错误 #9

PoisonSnowFlying opened this issue Dec 21, 2023 · 3 comments

Comments

@PoisonSnowFlying
Copy link

以@artus-cli/artus-cli为基础搭建的一个脚手架项目
脚手架项目,框架生成使用了,metalsmith和handlebars。所以模版目录中的package.json文件有一些非常规字符。

1.模版中的package.json中长这样。
image

2.目录结构是这样的
image
3.tsconfig长这样
image

4.目前执行命令myfe-demo报错
image

@PoisonSnowFlying
Copy link
Author

image 这是template中目录的结构。 因为我压根就没有编译template中的内容,为什么会报上面出现的错误呢

@whxaxes
Copy link
Collaborator

whxaxes commented Dec 25, 2023

可以给个能稳定复现的仓库,我帮你看一下

@PoisonSnowFlying
Copy link
Author

@whxaxes ,花了半天时间去看了一下源码。初始化options的时候有一个exclude参数,可以屏蔽对应的模版目录。
然后就按照egg-bin脚手架的处理方式,进行处理了。
const exclude = [ 'template', 'bin', 'test', 'coverage' ];
start({
// 你的 bin 名称,没传默认是 package.json 里的 name
// 如果 bin 中有配置也会默认选 bin 配置中的第一个
binName: 'myfe-demo',
exclude
// 指令所在目录,比如代码目录在项目根目录下的 src 目录,cli.ts 在 src/bin/ 中,那么就可以配 path.dirname(__dirname)
// 如果不配,会自动找 package.json 所在目录
// baseDir: path.dirname(__dirname),
});
感谢🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants