我正在一个有两个子项目的项目中:我们称它们为ProjectA
和ProjectB
。这些是完全不同的项目,但是都是用Typescript编写的,并使用webpack作为捆绑程序。
在开发过程中,我想使用ProjectA
中ProjectB
的某些部分,但总体要求是ProjectB
必须将ProjectA
中的所有代码用作外部依赖项-通过脚本标签,而不是通过npm安装等。
因此,我的想法是使用ProjectA
的输出配置属性的库选项来捆绑webpack
的代码,将生成的捆绑包托管在某个位置,然后通过将其包含在ProjectB
中脚本标签。但是,由于在开发{{1}的过程中我会使用ProjectA
的一些功能,所以我也想从ProjectB
中受益。
有人可以在这里指出正确的方向吗?
答案 0 :(得分:1)
创建两个子文件夹/a/
和/b/
,然后使用aliases轻松引用a中的b:
// webpack.config.js
module.exports = {
//...
resolve: {
alias: {
b: path.resolve(__dirname, '../b/')
}
}
};
然后,您可以轻松地以以下方式在零件之间导入:
import Something from "b/something";
但总体要求是ProjectB必须使用ProjectA中的所有代码作为外部依赖项-
然后将另一个Webpack文件添加到/b/
,以library的形式在外部构建b并将其作为external的添加到a:
externals: {
b: "b"
}