我正在寻找一种解决方案,在配置文件中将服务器设置与JS应用程序(我可以在dev或prod (built)模式下运行)分开,但允许服务器在任意时间点(设置发生变化时)用新的文件替换文件,并允许JS应用程序获取并刷新它的设置。
这主要是为了将URL设置为API端点。
我对JS框架的选择是角1和4,但是一般针对各种JS框架/库的答案是适用的。
发布于 2017-09-12 09:58:01
将服务器设置独立于JS应用程序的配置文件中
如果您正在考虑让您的服务器设置暴露在前面,您将有一个糟糕的时间;)
我将假设您认为在开发过程中会将API URL和一些配置与它一起保存在一个单独的文件中。然后我可以提出两种方法:
1.)简单-有一个JS文件与一个单一的对象与所有必要的API URL和设置在一个树状的结构,以组织的目的。因此,您有一个dev、一个测试和生产属性,其中包含所有内容。一旦你加载了应用程序,应该做的第一件事就是加载正确的设置。这是快速和不需要任何额外的知识。无论哪里都有可配置的硬编码,您都可以用从该文件派生出来的变量替换它。对于简单的应用程序来说,这应该足够了。
2.)功能强大-对于具有不同依赖项的大型应用程序,以及更正式和专业的方法,可以使用NodeJs,利用Grunt或Gulp来帮助您对依赖项进行版本化,并为不同的构建编写脚本。它要求你安装和学习使用新的东西,但提供给你更多的力量。
更好地结合这两种方法,通过包含正确的JS文件和所有API信息动态地将外部依赖项与构建和内部连接起来。
您还可以使用其他npm模块来帮助您进行开发,例如预编译CSS、链接代码、按类型将文件重新排列和组织到文件夹、自动名称文件或文件夹。
基本上,您在开发过程中所做的大部分重复任务都可以通过这种方式实现自动化。当所有这些都是由精通和经验丰富的第二种方法的人来处理的时候,这将真正体现在更大的项目上,它可以节省整个团队的几个月的重复任务。
发布于 2017-09-12 09:41:28
您可以使用gulp (甚至npm)作为任务运行者来完成这类工作。也许这篇文章会有帮助?https://www.keithcirkel.co.uk/how-to-use-npm-as-a-build-tool/
任务运行程序的要点是您可以设置一个特定的变量,即prod或development,然后任务运行程序可以使用prod或dev config的当前定义切换出您的配置文件。
https://stackoverflow.com/questions/46172966
复制相似问题