如何在没有捆绑的情况下在Webpack-React应用程序中加载外部配置文件?

Ilv*_*nis 11 externals reactjs webpack

我有一个用React编写并与Webpack捆绑在一起的Web应用程序.该应用程序有一个JSON配置文件,我希望在运行时包含该文件,而不是与webpack捆绑在一起.

在我的应用程序入口点我使用json-loader导入内容,但这样做会强制将文件嵌入到应用程序中,并且在捆绑后我无法更新配置文件.

如何配置我的webpack.config.js文件以排除我的config.json文件但仍允许我在我的应用程序中导入它?它不是一个模块,所以我不知道它是否可以包含在externals我的webpack.config.js部分中

我尝试使用require.ensure,但我现在看到的是捆绑到1.1.bundle.js文件中的config.json的内容,更改配置文件什么都不做.

app.js

let config;
require.ensure(['./config.json'], require => {
    config = require('./config.json');
});
Run Code Online (Sandbox Code Playgroud)

Ilv*_*nis 2

我最终使用了它的修改版本来从外部加载我的脚本。我的应用程序不需要立即进行配置,因此异步方面在这里不会产生影响。

我将其放置在应用程序入口页面的顶部,<head>并带有一个位于同一位置的配置文件。

<head>
    ... other scripts
    <script>
        var config= window.config|| {};
        $.getJSON('config.json', function(response) {
            config= response;
        });
    </script>
</head>
<body>
    <div id='root'/>
    <script src='dist/app.bundle.js'></script>
</body>
Run Code Online (Sandbox Code Playgroud)

  • 您在哪里确保配置在“dist/app.bundle.js”中可用? (3认同)