-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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(cli): 支持自定义项目入口文件 #2507
feat(cli): 支持自定义项目入口文件 #2507
Conversation
有一种场景是做OEM小程序。例如要给不同第三方定制开发微信小程序,只有个别页面不一样。 |
@js-newbee 你说的对,我看一下其他端的实现 |
针对这种场景的话,其实可以用 defineConstants 的 // config
defineConstants: {
PAGES: JSON.stringify(['pages/a', 'page/b'])
}
// app.js
config = {
pages: PAGES
} 指定 config 路径,感觉好像不是很有必要哈,因为配置项差别不会太大,借助环境变量进行覆盖就好了 |
@js-newbee 看了一下是支持多平台的,之前没注意alipay、tt小程序都走的weapp的逻辑。 另外,指定config意义在于: |
@deepcoldy 可以这样来控制: npm scripts 这样设置(传入环境变量):
在 config/index.js 中这样设置: const project = process.env.PROJECT
const config = {
entryName: project,
outputRoot: `dist.${project}`
} 又或者是 config/index.js 这样导出,也可以实现使用指定的 config 文件。 module.exports = function (merge) {
if (process.env.PROJECT === 'p1') {
return merge({}, config, require('./p1'))
}
return ...
} 通过环境变量就可以方便的实现自定义了。因为你的 config/other.js 也不太会去完整 copy 一份 index.js 出来改的,正常也就是 merge 的形式,那其实用环境变量就可以实现了。 个人感觉不是很有必要加这个配置项,不过也看开发团队怎么看哈 |
@js-newbee 👍明白了,那我把 |
This reverts commit c547e20.
代码里有一些硬编码 |
@luckyadam 没太明白说的是哪些地方,我只找到了一处,麻烦举个例子? |
请问这个有计划合并吗?现在app.js中的config没办法通过配置来生成,挺麻烦的。 |
这个PR有计划合并吗,迫切需要自定义入口的功能!!! |
由于项目需要自定义多入口启动,所以需要taro-cli支持 通过配置自定义入口文件的名称。