Javascript和服务器端代码之间的常量重复

use*_*987 5 javascript web

在我的项目中,我在JavaScript代码中定义的一些变量与在服务器上定义的变量相同(用其他语言编写)。我评论说,当一侧改变时,另一侧也应该改变。共享这些变量似乎很笨拙。

是否存在在JavaScript脚本和网站后端之间共享变量的标准方法?

我想到的一些选择:

  1. 如果幸运的话,请使用共享常量源文件,并且两种语言的语法都兼容。
  2. 作为构建过程的一部分,根据一种语言为另一种语言动态生成常量文件。
  3. 通过模板语言生成所有JavaScript。
  4. 将共享常量内联到HTML中,而不是将它们放入JavaScript文件中。

Ari*_*ona 1

我假设您需要的是单页应用程序。您可以将后端更改为静态的,每当需要更改某些内容时,您的 Javascript 都可以自行更新并通知后端。

查看流行的 javascript 框架,例如AngularJS,了解单页应用程序是如何开发的。前几个教程应该可以帮助您入门。

不,您不会直接共享变量。您将共享变量包含的值。当其中一个发生更改时,您将告诉您的应用程序更新另一个。

例如,假设您有以 JSON 格式输出用户的后端。

{
    "users": [
        {
            "firstName": "John",
            "lastName": "Doe"
        },
        {
            "firstName": "Anna",
            "lastName": "Smith"
        },
        {
            "firstName": "Peter",
            "lastName": "Jones"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

您将首先在 JavaScript 变量上初始化此信息。然后,每次用户被删除(假设被删除)时,您都需要从该变量中删除用户,并通知后端,以便它们保持同步。

我想向您提供更多有关它的信息,但我相信第一个教程AngularJS将清除您脑海中的许多事情。