Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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
Javascript 如何在可重用的NPM包中导出多个React组件,以便它们可以独立导入&;是否从应用程序包中排除依赖项?_Javascript_Node.js_Reactjs_Npm_Webpack - Fatal编程技术网

Javascript 如何在可重用的NPM包中导出多个React组件,以便它们可以独立导入&;是否从应用程序包中排除依赖项?

Javascript 如何在可重用的NPM包中导出多个React组件,以便它们可以独立导入&;是否从应用程序包中排除依赖项?,javascript,node.js,reactjs,npm,webpack,Javascript,Node.js,Reactjs,Npm,Webpack,我是否可以制作一个包含多个React组件的NPM包,这些组件可以在消费应用程序中独立导入 我有一个NPM包,包含两个可重用的React组件。“一个组件”导入一个大型的第三方库。其他组件不导入此第三方库 我希望能够在消费应用程序中使用这些组件,并且如果我已经导入了可重用的组件(该组件导入了大量的第三方库),则仅在我的应用程序包中包含大量的第三方库 如果我不使用重量级组件,是否有办法设置我的可重用软件包,使其不包括应用程序包中的“重库” //我的NPM包 //组件/重量级.js 从“React”导入

我是否可以制作一个包含多个React组件的NPM包,这些组件可以在消费应用程序中独立导入

我有一个NPM包,包含两个可重用的React组件。“一个组件”导入一个大型的第三方库。其他组件不导入此第三方库

我希望能够在消费应用程序中使用这些组件,并且如果我已经导入了可重用的组件(该组件导入了大量的第三方库),则仅在我的应用程序包中包含大量的第三方库

如果我不使用重量级组件,是否有办法设置我的可重用软件包,使其不包括应用程序包中的“重库”

//我的NPM包
//组件/重量级.js
从“React”导入React;
从“重型库”导入重型库;//此组件导入一个非常重的库
康斯特重量级=()=>{
常数a=重函数();
返回(
{a}
);
}
出口违约权重股;
//组件/轻量级.js
从“React”导入React;
常量轻量=()=>{
返回(
我体重很轻。
);
}
导出默认轻量级;
//index.js
从“./组件/重量级”导入重量级;
从“./components/LightWeight”导入轻量级;
导出{重量级,轻量级};
//webpack.config.js
// ...
module.exports={
//...
外部:{
重型图书馆:“重型图书馆”
}
};
//我的两个应用程序使用我的可重用组件
//appA.js
//捆绑此应用程序应在最终的网页包捆绑包中包含“heavy library”
从“可重用包”导入{Heavweight};
//appB.js
//捆绑此应用程序不应在最终的网页包捆绑包中包含“heavy library”
从“可重用包”导入{LIghtWeight};

这可以通过网页包完成。您可以为您的库导出多个输出,然后消费者可以导入他们想要使用的特定缩小的js,您能为我指出实现这一点的正确方向吗?我想这就是你们所需要的。在我的package.json中,我指定了“main”:“lib/heavy library.min.js”,然后我可以从“heavy library”导入。我将如何在package.json中指定新的输出,以便也可以导入它?请提供package.json文件的代码段好吗?