最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

从外部Webpack导入(运行时导入)

IT培训 admin 3浏览 0评论

从外部Webpack导入(运行时导入)

这只是我今天想的,我没有看到很多信息,所以我将分享此[[weird案例以及我个人如何解决这些问题(如果有更好的方法,请发表评论,但与此同时这可能会对其他人有所帮助^^)

在webpack包中,您所做的每个import / require都由webpack使用其内部的require功能进行管理。这意味着如果您位于webpack捆绑包内,则不能再使用原始的NodeJS全局require

另请参见:Exporting from outside webpack bundle
回答如下:webpack实际上提供了一种解决方法:

一个名为__non_webpack_require__的变量,它是原始的require,因此,在您的代码中,您可以这样做:

const internalModule = require('internal/module'); // or import internalModule from 'internal/module'; in the ES6 way const externalModule = __non_webpack_require__('external/module');

如果使用TypeScript,则可以在global.d.ts文件中添加此行以避免语法错误:

declare const __non_webpack_require__: NodeRequireFunction;

事实1:实际上,在构建之后,您可以看到常用的require(Webpack的)如何重命名为__webpack_require__,并且__non_webpack_require__被保留为原始的require

事实2:

Webpack还使用原始的require从系统(未与代码捆绑在一起)中导入模块,例如neteventsfs等。>

从外部Webpack导入(运行时导入)

这只是我今天想的,我没有看到很多信息,所以我将分享此[[weird案例以及我个人如何解决这些问题(如果有更好的方法,请发表评论,但与此同时这可能会对其他人有所帮助^^)

在webpack包中,您所做的每个import / require都由webpack使用其内部的require功能进行管理。这意味着如果您位于webpack捆绑包内,则不能再使用原始的NodeJS全局require

另请参见:Exporting from outside webpack bundle
回答如下:webpack实际上提供了一种解决方法:

一个名为__non_webpack_require__的变量,它是原始的require,因此,在您的代码中,您可以这样做:

const internalModule = require('internal/module'); // or import internalModule from 'internal/module'; in the ES6 way const externalModule = __non_webpack_require__('external/module');

如果使用TypeScript,则可以在global.d.ts文件中添加此行以避免语法错误:

declare const __non_webpack_require__: NodeRequireFunction;

事实1:实际上,在构建之后,您可以看到常用的require(Webpack的)如何重命名为__webpack_require__,并且__non_webpack_require__被保留为原始的require

事实2:

Webpack还使用原始的require从系统(未与代码捆绑在一起)中导入模块,例如neteventsfs等。>
发布评论

评论列表 (0)

  1. 暂无评论