首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NativeScript、代码共享和不同环境

NativeScript、代码共享和不同环境
EN

Stack Overflow用户
提问于 2018-10-18 15:07:26
回答 2查看 740关注 0票数 1

Note:这不是的另一个问题。请阅读:此问题是针对代码共享模板的。

我正在对NativeScript、Angular和代码共享模板(参见:@nativescript/图表)做一些非常基本的实验。

现在,我正在对框架如何支持不同的“构建配置”进行一些探索/ poc工作。为了明确起见,我正在寻找一个简单的-and --希望是官方的--让应用程序根据当前的平台(web/ios/android)和环境(开发/生产/分期?)使用特定文件的不同版本(让我们称之为configuration.ts)。

做第一部分显然是微不足道的-毕竟,这是代码共享原理图的主要目的。因此,同一文件的不同版本由不同的扩展名标识。这一页解释事情很简单

我不太容易得到的是,如果框架/模板支持任何类似的基于约定的规则,这些规则可以用于在文件的调试/发布(甚至更好的开发/分期/生产)版本之间切换。例如,考虑包含基于环境的不同参数的config.ts文件。

我对这一课题做了一些研究,但没有找到结论性的答案:

  • appbuilder平台的旧的和现在已退休的文档提到一个(.debug )。( .release.)文件命名约定。我觉得这已经行不通了。
  • 其他来源提到在调用tns build / tns run时传递参数,然后通过webpack env变量获取它们.看这里。这也许可行,但似乎有点费解。
  • 提到的第三个选项是使用钩子自定义构建(或者使用应该做同样事情的插件)
  • 最后,由于一些奇怪的原因,@nativescript/示意图似乎会生成一个默认项目,其中包含两个名为environment.tsenvironment.prod.ts的文件。我怀疑这些只适用于项目的web版本(读:ng serve) --我无法让移动编译器识别以debug.ts、prod.ts或release.ts结尾的文件。

虽然我想做的事情可能不只是得到支持(还没有),但普遍的混乱和对这件事的不同意见使我认为我可能遗漏了什么。在某个地方。

如果这个在某种程度上得到了的支持,我也想知道它如何与通常被建议为简化NativeScript应用程序的构建/运行过程的NativeScript助手应用程序集成(没有办法为NativeScript命令指定额外的参数,只有在调试/发布模式之间切换才是唯一可用的选项),但这可能更好地留给另一个问题。

EN

回答 2

Stack Overflow用户

发布于 2018-10-18 17:01:29

环境文件还不受支持,从build命令中传递环境变量可能是目前可行的解决方案。

但是当然,如果您希望立即支持环境文件,您可以编写自己的图表。

票数 1
EN

Stack Overflow用户

发布于 2018-11-13 04:15:13

我还没有考虑在网络和移动设备之间共享环境文件--我确实喜欢Manoj关于修改图表的建议,但是当我到达那里的时候,我将不得不跨过那座桥。我可能会回答你关于同伴的第二个问题。最新版本确实支持"Webpack“构建选项,该选项似乎将-bundle参数传递给tns。请注意,此选项似乎对类型记录错误更敏感,甚至是相对较好的错误,因此您必须小心,并确保在构建之前将它们全部修复。在我的例子中,我不得不将package.json中的@types/jasmine的版本锁定为"2.8.6“,以避免该版本与其助手的云解决方案使用的类型记录版本之间存在一些不兼容性。另一个提示是在npm依赖项更改之后检查“清洁构建”。祝好运!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52877122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档