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

feat: symlink 项目配置文件时,可以忽略一些字段么 #93

Closed
lp0124 opened this issue Jul 29, 2024 · 8 comments
Closed

feat: symlink 项目配置文件时,可以忽略一些字段么 #93

lp0124 opened this issue Jul 29, 2024 · 8 comments

Comments

@lp0124
Copy link

lp0124 commented Jul 29, 2024

在开发小程序时,我们会有 4 个环境,开发、测试、Beta、生产,需要频繁切换 project.config.json 的 appid,所以写了个 webpack 插件,在执行 npm run test:wx 时会自动修改为测试环境使用的 appid,但是由于 symlink 的存在导致频繁有该文件的改动提交

希望:
方案1. appid字段进行忽略,或者能走配置字段的方式
方案2. symlink 这个能力能走开关

image
@mater1996
Copy link
Contributor

插件是构建后改动输出的project.config.json文件么?

@lp0124
Copy link
Author

lp0124 commented Aug 9, 2024

插件是构建后改动输出的project.config.json文件么?

插件是在 processAssets 钩子 Compilation.PROCESS_ASSETS_STAGE_SUMMARIZE 阶段处理的

image image

@lp0124
Copy link
Author

lp0124 commented Aug 9, 2024

插件是构建后改动输出的project.config.json文件么?

linkSync 一执行,就会将 static 里的 json 文件内容改成跟 dist 里的一致,这样的话插件在构建前后做都不行

@mater1996
Copy link
Contributor

symlink 的存在导致频繁有该文件的改动提交 这句话是指? 理论上symlink也只会同步修改对应的配置,不会影响你们的改动

@lp0124
Copy link
Author

lp0124 commented Aug 12, 2024

symlink 的存在导致频繁有该文件的改动提交 这句话是指? 理论上symlink也只会同步修改对应的配置,不会影响你们的改动

symlink会将 dist 下的json 文件内容同步给 static/wx里的 json文件,这会产生git 源代码的文件变动

@lp0124
Copy link
Author

lp0124 commented Aug 12, 2024

例如 /static/wx/project.config.json 这样一个文件,文件内容是

{
  "description": "项目配置文件",
  "compileType": "miniprogram",
  "appid": "" // 根据应用不同,自动设置 appid
}

在执行 pnpm run build --targets=wx --env=master 时,会通过webpack 插件将 输出后的 dist/wx/project.config.json 的文件改为

{
  "description": "项目配置文件",
  "compileType": "miniprogram",
  "appid": "appidxx112232333"
}

后续 symlink 监听到 dist/wx/project.config.json 文件有改动,就将 /static/wx/project.config.json 文件内容也改成一样的,这是不符合预期的,因为它带来了额外的文件内容变动

@mater1996
Copy link
Contributor

mater1996 commented Aug 13, 2024

嗯,我理解就是禁掉这种同步操作是吧?可以加一个配置来禁用symlink config。

@lp0124
Copy link
Author

lp0124 commented Aug 13, 2024

嗯,我理解就是禁掉这种同步操作是吧?可以加一个配置来禁用symlink config。

嗯,是的,不过这种同步操作还是很好用的,主要就是这个 appid 字段太特殊,如果能忽略掉 appid 字段那就最好了,不过那样就无法用 fs.linkSync 了

@lp0124 lp0124 changed the title symlink 项目配置文件时,可以忽略一些字段么 feat: symlink 项目配置文件时,可以忽略一些字段么 Aug 23, 2024
@lp0124 lp0124 closed this as not planned Won't fix, can't repro, duplicate, stale Jan 22, 2025
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