【问题标题】:JavaScript ES6 Loading file mechanismJavaScript ES6 加载文件机制
【发布时间】:2017-07-03 12:34:21
【问题描述】:

我正在开发一个使用 WebPack 和 Express 服务器的 JavaScript 和 React 应用程序。我实际上对加载文件机制有疑问。

我还没有找到答案。所以我来了。

假设我有一个app.js 文件,它执行类似于import whatever from someJSONfile 的操作,我正在从前端的JSON 文件中导入一些内容。

这是我的问题,当我执行app.js 文件时,内容whatever 会被加载到内存中每次?或者它只是第一次加载,然后执行webpack,或者任何负责人,将搜索该文件的内容而不再次加载它?

我只是担心每次执行 app.js 时,其中的文件(例如示例中的 JSON)都会再次加载。

谢谢,我希望我足够清楚

【问题讨论】:

    标签: javascript json express webpack ecmascript-6


    【解决方案1】:

    Webpack 足够聪明,可以缓存加载的模块(事实上,在打包器中,它会加载一次,不管你导入多少次)。

    看这个例子:

    file1.js

    import json from './data.json'
    export default json
    

    file2.js

    import json from './data.json'
    export default json
    

    ma​​in.js

    import json1 from './file1.js'
    import json2 from './file2.js'
    
    console.log(json1 === json2); //true (same reference)
    

    【讨论】:

    • 太棒了!谢谢!这就是我想知道的
    • FWIW,ECMAScript 规范还要求模块文件只被评估一次。
    猜你喜欢
    • 2019-06-04
    • 1970-01-01
    • 2014-03-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 2011-07-11
    • 1970-01-01
    相关资源
    最近更新 更多