【发布时间】:2019-10-27 08:42:22
【问题描述】:
我想设置我的 Webpack 配置 (v4+) 以排除引用本地库的导入。在我的应用程序中,我像这样导入这个库:
/src/index.js
import foo from '../foo/foo'
console.log(foo);
/foo/foo.js
export default foo = "bar";
webpack.config.js
const path = require('path')
module.exports = {
entry: './src/index.js',
output: {
filename: 'main.js',
path: path.resolve(__dirname, 'dist')
},
externals: {
"foo": path.resolve(__dirname, "./foo/foo"),
}
};
但是,这个库实际上已经在我部署应用程序的站点中全局引用。所以我不希望这个库与我的应用程序捆绑在一起(我仍然需要导入它,以便我可以无错误地转换我的打字稿并使用智能感知)。
我发现我可以通过使用 externals 属性轻松地将库排除在捆绑之外,如下所示:
module.exports = {
externals: {
"jquery": "jQuery"
}
}
我对我正在导入的库做同样的事情没有成功。我该怎么做呢?我尝试了以下方法,但该库仍包含在我的捆绑包中:
我一直在研究文档,似乎只能找到与节点模块相关的示例,而没有针对我的要求。
如果您需要任何其他详细信息,请告诉我。提前致谢!
【问题讨论】:
-
你有那个特定库的类型声明吗?
-
确保从
Foo导入,而不是从Foo的完整路径导入。即import {something} from 'Foo'; -
@dustin 在下面看到我的回答
-
@PAckerman 我没有该库的类型声明。它主要只是一个 ts 文件,它正在导出一个类,如 export class Foo {}
标签: javascript typescript webpack