Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 根据用户类型反应多个捆绑包_Reactjs_Webpack - Fatal编程技术网

Reactjs 根据用户类型反应多个捆绑包

Reactjs 根据用户类型反应多个捆绑包,reactjs,webpack,Reactjs,Webpack,我有一个问题,我正在使用react relay graphql开发一个应用程序,并使用webpack作为绑定器 应用程序有三种用户类型,所有类型都有不同的仪表板,因此我希望在成功登录各自的仪表板后,为它们提供一个通用登录和不同的捆绑包,以便减少捆绑包的大小。您可以通过配置您的网页包来做到这一点: module.exports = { entry: { user1: path.join(__dirname, './client/app1.js'), user

我有一个问题,我正在使用react relay graphql开发一个应用程序,并使用webpack作为绑定器


应用程序有三种用户类型,所有类型都有不同的仪表板,因此我希望在成功登录各自的仪表板后,为它们提供一个通用登录和不同的捆绑包,以便减少捆绑包的大小。

您可以通过配置您的网页包来做到这一点:

module.exports = {
    entry: {
        user1: path.join(__dirname, './client/app1.js'),
        user2: path.join(__dirname, './client/app2.js'),
        user3: path.join(__dirname, './client/app3.js')
    },
    output: {
        path: path.join(__dirname, './static/bundle/'),
        filename: '[name].js'
    },
    ...
}

捆绑包的名称类似于user1.js、user2.js、user3.js

您可以通过配置您的网页包来实现这一点:

module.exports = {
    entry: {
        user1: path.join(__dirname, './client/app1.js'),
        user2: path.join(__dirname, './client/app2.js'),
        user3: path.join(__dirname, './client/app3.js')
    },
    output: {
        path: path.join(__dirname, './static/bundle/'),
        filename: '[name].js'
    },
    ...
}

捆绑包的名称将类似于user1.js、user2.js、user3.js

正确!!它还需要react router的一项功能,否则我们必须创建多个html文件来加载这些包。很高兴能帮助解决您的问题)我仍然对入口点感到困惑。假设我有一个站点
example.com
和另外两个页面
example.com/register
example.com/contact
。现在,我想获取
example.com
的公共文件,并只在
example.com/register
中加载注册模块代码,在
example.com/contact
中加载联系人模块代码。入口点相同,
example.com
。上述解决方案在这种情况下有效吗?@learner入口点是文件名,而不是url。在这种情况下,您可以使用commonChunkPlugin定义3个入口点,这将把公共代码提取到特殊文件中。因此,您将有4个文件:1-somecommonfile.js,2-bundle用于主页
/
,只有特殊代码用于主页,3-bundle用于
/contact
,4-bundle用于
注册
。请参见此处:。此外,在同一文档页面上检查dinamic模块加载HI,我是否需要
同时,在同一文档页面上检查动态模块加载
?我想在不同的请求中加载不同的bundle.js。如何在主文件case中加载
main.bundle.js
,在case register url中加载
register.bundle.js
?我需要多个
index.html
文件还是一个
index.html
文件就足够了?正确!!它还需要react router的一项功能,否则我们必须创建多个html文件来加载这些包。很高兴能帮助解决您的问题)我仍然对入口点感到困惑。假设我有一个站点
example.com
和另外两个页面
example.com/register
example.com/contact
。现在,我想获取
example.com
的公共文件,并只在
example.com/register
中加载注册模块代码,在
example.com/contact
中加载联系人模块代码。入口点相同,
example.com
。上述解决方案在这种情况下有效吗?@learner入口点是文件名,而不是url。在这种情况下,您可以使用commonChunkPlugin定义3个入口点,这将把公共代码提取到特殊文件中。因此,您将有4个文件:1-somecommonfile.js,2-bundle用于主页
/
,只有特殊代码用于主页,3-bundle用于
/contact
,4-bundle用于
注册
。请参见此处:。此外,在同一文档页面上检查dinamic模块加载HI,我是否需要
同时,在同一文档页面上检查动态模块加载
?我想在不同的请求中加载不同的bundle.js。如何在主文件case中加载
main.bundle.js
,在case register url中加载
register.bundle.js
?我需要多个
index.html
文件还是一个
index.html
文件就足够了?