javascript - 通过 Typescript 支持将一个项目中的捆绑代码包含到另一个项目中

标签 javascript typescript webpack monorepo

我正在开发一个具有两个子项目的项目:我们将它们称为 ProjectAProjectB。这些是完全不同的项目,但都是用 Typescript 编写并使用 webpack 作为 bundler 。

在开发过程中,我想在 ProjectB 中使用 ProjectA 的某些部分,但总体要求是 ProjectB 必须使用来自ProjectA 作为外部依赖项 - 通过脚本标记,而不是通过 npm 安装等。

所以我的想法是使用 webpack 输出配置属性的库选项来捆绑 ProjectA 的代码,将生成的包托管在某处,并将其包含在ProjectB 通过脚本标签。但由于我在开发 ProjectB 期间会使用 ProjectA 中的一些函数,因此我也希望拥有 Typescript 的优势。

有人能指出我正确的方向吗?

最佳答案

创建两个子文件夹,/a//b/,然后使用 aliases轻松地从 a 引用 b:

// webpack.config.js
 module.exports = {
  //...
 resolve: {
   alias: {
    b: path.resolve(__dirname, '../b/')
   }
  }
};

然后您可以轻松地在各部分之间导入:

  import Something from "b/something";

but overall requirement is that ProjectB must consume all code from ProjectA as an external dependency -

然后在/b/中添加另一个webpack文件,将b外部构建为a library并将其添加为 external至:

 externals: {
   b: "b"
 }

关于javascript - 通过 Typescript 支持将一个项目中的捆绑代码包含到另一个项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52842277/

相关文章:

javascript - 多个独立的 webpack 包 : chunks load not working correctly

javascript - 当赠品结束时如何向赠品主持人发送私信

javascript - 前缀为 "--"的 babel-node 参数未传递

typescript - 使用 jsPDF rtl 支持的 Html 到 pdf

javascript - node_modules/rxjs-compat/operator/shareReplay.d.ts(2,10) : 中出现错误

reactjs - 我的 npm start for React 教程项目无法正常工作

javascript - 如果所选文本在输入范围内,则触发输入事件的功能

javascript - 将数据添加到第二个传单 map 会影响第一个 map 中的 mouseOff 行为

angular - 通过 Angular 中的工厂打开通用注入(inject)

reactjs - 如何在 Express 中将 webpack-hot-server-middleware 与 Firebase 功能结合使用