我目前正在尝试以下策略,从相对于模块的路径动态加载json文件:
import(filename.json)
以下似乎可以正常使用:
function parse (fileName, callback) {
var path = "./relative/path/to/" + fileName + ".json";
var cb = process.bind(this, fileName, callback);
if (typeof webpackJsonp !== "undefined") { // <-- Test if run as Webpack bundle
// Do dynamic import
} else {
// Do Ajax call
}
}
但是,我在webpackJsonp
上找不到任何文档,因此,我认为这不属于Webpack的公共API。
我还注意到webpackJsonp
是3.12中的函数,而Object
(是从Array
继承的)在4.28中表示依赖于状态,值或类型是多么脆弱。的webpackJsonp
。
是否有(可靠的)可靠方法测试使用公共API是否将我的代码作为Webpack捆绑软件运行?
基本上,我应该使用公共API替换typeof webpackJsonp !== "undefined"
,以达到相同的效果吗?
此外,在Webpack 4.28中使实际导入工作时,我也遇到了一些问题。参见import() breaks in Angular 7.2.3 + Webpack 4.28。