【问题标题】:Add data to an array in external javascript file将数据添加到外部 javascript 文件中的数组
【发布时间】:2020-07-12 20:16:11
【问题描述】:

我有一个名为 data 的文件,它使用列表初始化一个类。我想知道是否可以通过导入 data.js 文件从另一个文件自动将数据添加到该文件。那可能吗 ?如果是这样,我会怎么做。因为我尝试使用 app.js 文件中的 .push() 和 .concat() ,但在 data.js 文件中没有看到它更新。

Data.js 文件

export const CATEGORIES = [
    new Catergory('My Recipies', 'My Recipies',myRecipies),
    new Catergory('Italian', 'Italian', italian),
    new Catergory('Indian', 'Indian',indian),
    new Catergory('Western', 'Western',western),
    new Catergory('Quick n Easy', 'Quick n Easy',quick),
    new Catergory('Desert', 'Desert',desert),
    new Catergory('Breakfast', 'Breakfast',breakfast),        
]

App.js 文件

import data from './Data/categories/data'
import Catergory from './Data/categories/Catergory'

data.push(
    new Catergory('Drinks',' My Recipies', myRecipies)
)

如果有人能帮我将此 app.js 代码添加到我的外部 data.js 中,我将发自内心地感激不尽。先谢谢了!!!!!!

【问题讨论】:

  • 你的意思是修改文件本身吗?
  • 是的,将项目从另一个 App.js 文件添加到 CATEGORIES 数组中。
  • 让我澄清一下。您想要永久修改Data.js 文件,还是只想将CATEGORIES 数组与您推送到App.js 文件中的数据一起使用?

标签: javascript arrays reactjs


【解决方案1】:

没有。

如果您想更改文件,则需要显式写入文件,而您无法通过在 Web 浏览器中运行的 JavaScript 执行此操作。 (如果网络浏览器可以写入服务器上他们喜欢的任何文件,那将是一个可怕的安全问题!)。

这个问题最好通过编写一个由数据库支持的网络服务(用你喜欢的任何服务器端语言编写,可以是 JavaScript 通过Express framework)来解决(如果你想保留一些东西,可能是SQLite非常简单),您可以使用 Ajax 对其进行读写。

【讨论】:

    【解决方案2】:

    出于安全原因,不允许在浏览器中运行的 JavaScript 修改本地文件。如果您只想在您自己的设备上(而不是在浏览器中)本地运行您的应用程序,请参阅this 问题以了解如何使这项工作。如果您从服务器在 Web 上部署应用程序,则可以使用 phpAjax 更新服务器上的文件。请参阅this 问题,了解如何使用 php.ini 修改服务器上的 JSON 文件。说到这一点,您可能希望将文件更改为 JSON,这样使用起来会更容易一些。希望其中一些链接能够为您指明正确的方向,具体取决于您的用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-27
      • 1970-01-01
      相关资源
      最近更新 更多