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
Webpack 网页包公开本地模块_Webpack - Fatal编程技术网

Webpack 网页包公开本地模块

Webpack 网页包公开本地模块,webpack,Webpack,如果我有以下模块: // ./lib/foo.js const foo = 'hello'; export default foo 我想把它作为一个全球性的。我已将其加载到网页配置中的供应商条目中: entry: { vendor: [..., './lib/foo'] } 我尝试了以下方法: plugins: [ new webpack.ProvidePlugin({ './lib/foo': 'foo' }) ] 或: 在这两种变体中,都尝试使用窗口。前缀。但它不会

如果我有以下模块:

// ./lib/foo.js
const foo = 'hello';
export default foo
我想把它作为一个全球性的。我已将其加载到网页配置中的供应商条目中:

entry: {
  vendor: [..., './lib/foo']
}
我尝试了以下方法:

plugins: [
  new webpack.ProvidePlugin({
    './lib/foo': 'foo'
  })
]
或:


在这两种变体中,都尝试使用
窗口。
前缀。但它不会暴露出来。已经尝试在我的应用程序条目文件中添加一个
require('./lib/foo')
,因为的文档似乎表明这是必要的。

这是您希望在其他区域使用的供应商模块的一部分,还是您正在构建的JS库?我不知道如何全局公开模块,但您可以使用require获得近似值。检查my,它是关于通过根路径导入TypeScript中的模块,而不使用
/
,等等。但它同时与webpack相关。我不确定最终目标是什么:假设最终目标是构建并公开您想要使用的JS库,我想您可以尝试将foo作为库公开。以下是提供的文档中的一个示例:这是我为我的工作所做的。我不确定expose loader插件如果你只想公开一个特定的模块,那么我也不确定。我想全局公开这个模块,这样我就不必到处导入它,基本上,它是
fetch
的扩展,用于添加一些自定义功能,我希望它可以在
window.customFetch
上使用。我想我只是想让它成为图书馆目标的一个globalLook。你可以捆绑,这样你就可以得到一个全局的。
module: {
  loaders: [
    { test: require.resolve('./lib/foo'), loader: 'expose?foo' }
  ],
}