Webpack:如何在不知道查询字符串的情况下加载相同的资产?

时间:2016-06-28 23:46:09

标签: javascript webpack webpack-dev-server

我的webpack配置中有一个条目数组:

entry: {
    'main': [
        'webpack-hot-middleware/client?path=some-query'
        'my-module/my-file',
    ]

在我的代码(node_modules/my-module/my-file.js)内部,我尝试要求初始第三方文件。

var client = require('webpack-hot-middleware/client');

因为我不需要使用相同的查询字符串, webpack会将其视为单独的资源/模块,并且内联webpack-hot-middleware/client 两次输出包。这意味着我正在使用新的代码实例,而我想访问原始实例。我无法访问第三方代码,因此我需要在自己的库中执行此操作。

目前我唯一的解决方案是复制查询字符串:

entry: {
    'main': [
        'webpack-hot-middleware/client?path=some-query'
        'my-module/my-file?path=some-query',
    ]

然后使用暴露于每个Webpack文件的__resourceQuery来要求它:

var client = require('webpack-hot-middleware/client' + __resourceQuery);

这要求我将查询字符串复制到我的模块中,这是不受欢迎的,特别是因为我的模块不能使用查询字符串参数(并且可能想要使用它自己的,这里不允许)

1 个答案:

答案 0 :(得分:0)

您应该可以使用webpack解析器别名来完成此工作:https://webpack.github.io/docs/configuration.html#resolve-alias