Webpack nodejs捆绑并在创建的捆绑包中排除自定义模块和路径解析

时间:2019-12-16 10:37:07

标签: node.js webpack

我正在使用webpack4捆绑我的nodejs应用程序。我想创建一个包,其中甚至包括我在应用程序中使用过的所有库的node_modules代码,但我想从包中排除一个文件appConfig.js,该文件对我的应用程序进行了一些配置。

但是我面临的问题是在应用程序中排除自定义模块。尽管我设法从捆绑包中排除了appConfig.js文件,但问题是相对路径,在生成的捆绑包中的各种其他文件中,我需要使用appConfig.js文件。

我只是在webpack中使用外部配置从捆绑中排除appConfig.js

webpack.config.js

externals: /configs\/appConfig/

假设我的nodejs应用中存在file1.js,file2.js和file3.js和appConfig.js。

每个文件都要求要求appConfig.js具有基于其文件位置路径的相对路径。

modules/module1/file1.js                   => require("../../configs/appConfig.js")
modules/module2/sub-module/file2.js        => require("../../../configs/appConfig.js")
modules/file3.js                           => require("../configs/appConfig.js")
configs/appConfig.js

如果您在上面注意到,在不同的文件中,require路径有所不同,但是在生成的包中(现在说bundle.js),这是一个单独的文件,除了appConfig.js之外,所有内容都捆绑在一起,所有它们仍在使用相同的相对路径,实际上是导致问题的原因,因为这些路径现在无法正确解决。

因此,在webpack配置中有一种可能的方法,它使我们能够正确解决需要的w.r.t捆绑包,从而使其始终能够正确解析。

0 个答案:

没有答案