我正在寻找一种解决方案,将服务器设置放在某种独立于 JS 应用程序(我可以在开发或生产(构建)模式下运行)的配置文件中,但允许服务器替换文件在随机时间点(当设置已更改时)使用一个新的,并允许 JS 应用程序获取它并刷新它的设置。
这主要用于设置 API 端点的 URL。
我选择的 JS 框架是 Angular 1 和 4,但通常适用于各种 JS 框架/库的答案都是适用的。
最佳答案
to have server settings in a config file of some sort separate from the JS app
如果您正在考虑将您的服务器设置暴露在前端,那您将有一段糟糕的时光 ;)
我假设您认为您会在开发时将 API URL 和一些配置与它一起保存在一个单独的文件中。然后我可以建议两种方法:
1.) 简单 - 拥有一个带有单个对象的 JS 文件,其中包含所有必要的 API URL 和树状结构中的设置,用于组织目的。所以你有一个开发、测试和生产属性,其中包含所有内容。加载应用程序后,应用程序应该做的第一件事是加载正确的设置。这很快,不需要任何额外的知识。在任何地方,你都有一些可配置的硬编码,你用从该文件派生的变量替换它。这对于简单的应用程序应该足够了。
2.) 强大 - 对于具有大量不同依赖项和更正式、更专业的方法的更大应用程序,做大多数人所做的事情,使用 NodeJs,利用 Grunt 或 Gulp 来帮助您对依赖项进行版本控制并为不同的构建编写脚本。它需要您安装和学习使用新东西,但可以为您提供更多功能。
更好地结合这两种方法,通过将正确的 JS 文件包含在所有 API 信息中,将外部依赖项动态链接到构建和内部。
您还可以使用其他 npm 模块来帮助您进行开发,例如预编译 CSS、检查代码、按类型重新排列和组织文件到文件夹、自动命名文件或文件夹。
基本上,您在开发过程中所做的大部分重复性任务都可以通过这种方式自动完成。当所有这些都由精通第二种方法且经验丰富的人处理时,这真正体现在更大的项目上,它可以节省整个团队数月的重复性任务。
关于javascript - 现代 JavaScript 应用程序中的服务器设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46172966/