【问题标题】:Is it possible to store data in browserify modules?是否可以将数据存储在 browserify 模块中?
【发布时间】:2014-12-15 17:31:57
【问题描述】:

我想对 $.ajax 做一个快速的包装器,它本质上将复制 $.ajaxSetup 功能。这样做的原因是我只想为某些操作设置默认值,而不是污染其他库将使用 $.ajax 的内容。

解决方案看起来像这样 ->

$myAjax.defaults['headers'] = ... $myAjax.fetch({..}) -> will run an ajax command using new defaults

我想通过 browserify 使 $myAjax 可用

问题是,我如何存储默认值?

【问题讨论】:

    标签: javascript browserify node-modules


    【解决方案1】:

    是的,创建一个 JSON 文件,然后只需要它。

    数据文件.json

    {
      "data": "This is some data",
      "foobar": "more data"
    }
    

    我的模块.js

    var myData = require('./data-file.json');
    console.log(myData.data);   // => "This is some data"
    console.log(myData.foobar); // => "more data"
    

    Browserify 可以捆绑 JSON 文件。

    【讨论】:

    • 嘿 Sukima,我还想做的是在编码时编辑 myData。即在一个组件中,我可能将 myData.headers 设置为 x,并希望之后使用 $myAjax 的所有其他组件知道标头是 x。你对此有什么想法吗?
    • 当它读取它时,它在内存中,因此您可以随意更改它(在代码中)。但是,如果您想将其保存回原始来源,则必须开发一些机制来执行此操作,并且超出了此问题的范围。
    • 为了澄清,Browserify 捆绑了 JavaScript 代码(以及无论如何都是有效的 JavaScript 的 JSON)。从本质上讲,这是易变的。如果您希望类似 JSON 的对象是非易失的(保存为持久存储),那么您不需要 Browserfy,而是像往常一样需要服务器或 localStorage。我发现在 Browserify 包中包含 JSON 最适合 configs/db 连接设置之类的东西,其中数据编辑通常是运行 Browserify 的开发人员。如果是用于应用程序状态,则常规对象将执行此操作,并且捆绑的 JSON 用于设置初始默认值。
    猜你喜欢
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2017-01-03
    • 2020-03-09
    • 2013-07-12
    • 1970-01-01
    相关资源
    最近更新 更多