我有一个Web应用程序,该应用程序使用JSON格式的一些静态(很少更改)数据。 JSON只是对象的数组,我正在进行一些转换以创建更可用的地图以进行搜索和其他一些操作。该应用程序是使用Webpack构建的
代码如下:
import entries from './entries.json'
export const entriesMap = entries.reduce((acc, entry) => {
// some transforming code here
}, {})
问题在于,此操作在每次加载应用程序时都会运行,并且实际上始终会执行相同的工作。
我的问题:有没有办法告诉Webpack在编译时执行此代码,因此它将自动将应用程序与已经评估过的entriesMap
捆绑在一起?
如果是,是否有理由这样做,还是最好像这样保留它?
答案 0 :(得分:0)
最佳做法是避免将这些(可能很大的)资源包含在js捆绑包中。您可以在应用加载时一次获取(ajax)此json,将响应转换为所需内容,然后将其保存到f.e。 indexDb供以后使用。