Typescript 本地依赖项(多个项目)

     2023-03-13     262

关键词:

【中文标题】Typescript 本地依赖项(多个项目)【英文标题】:Typescript local dependencies (Multiple Projects) 【发布时间】:2017-09-21 23:40:09 【问题描述】:

我是打字稿的新手。我目前正在尝试创建一个相互依赖的项目结构。共有三个项目corecalculatortax-calculator。项目tax-calculator 需要来自calculator 项目的代码,它需要来自core 项目的内容。 corecalculator 项目应该是库,tax-calculator 应该是 Web 界面。我拆分代码的原因是,我在其他项目中也需要corecalculator

core
    |--src
        |--MathUtils.ts
        |--...
    |--dist
        |--MathUtils.js

calculator
    |--src
        |--Calculator.ts // needs MathUtils.ts
    |--dist
        |--Calculator.js

tax-calculator
    |--src
        |--TaxCalculator.ts // needs Calculator.ts
    |--dist
        |--TaxCalculator.js

如何使用npmwebpack 提供其他项目中的源代码?我正在使用 VisualStudio Code,我想在开发时使用自动编译和其他功能,就像我使用 @types/chrome 或其他类型时一样。

【问题讨论】:

查看这个答案:***.com/questions/43493029/… 我相信您可以为此使用纱线工作区之类的东西? yarnpkg.com/lang/en/docs/workspaces 【参考方案1】:

晚会有点晚了,但我会从今天(2018 年 12 月)开始提供不同的选择:

使用 node/shell 脚本进行自定义设置,如 Cycle.js 中所做的:

Setting up JavaScript Monorepo.

使用 Lerna:

包括 Babel、Marble.js、Material、Angular 在内的许多大型项目都使用 Lerna 进行多包设置。

Typescript 项目参考:

TypeScript 3.0 现在提供对 Project references 的支持。

Git 子模块

也可以使用 Git 子模块,尽管它不仅仅是 TypeScript。它可用于共享任何类型的代码。 Ghost博客平台使用这种方法。除非您了解与此相关的所有问题,否则我不会真正推荐这种方法。

另外,如果你使用 Yarn,你可以考虑工作区,虽然我不确定它与 TypeScript 的配合如何。

【讨论】:

这样一个简单的用例没有明确的答案这一事实说明了 JS 基础架构有多糟糕。这对于 Java 和 Maven 来说是一件轻而易举的事。 @MartynasJusevičius 我同意。然而,JS 在不同的环境中有大量的通用用例。在不引入向后兼容性的情况下得出一个共同点有其自身的成本。 BTW references in tsconfig.json 为我工作,但我必须使用相对路径指定 imports Class from '../../lib',我不喜欢。但是我想当我将引用的 lib 作为 npm 包发布并在 package.json 中将其指定为适当的依赖项时,我可以摆脱这些路径。这会是要走的路吗? @MartynasJusevičius 这就是它的演变方式。当您将srcdist 作为两个单独的文件夹并且您使用像@mypackage/dist/file1.js 这样的单个文件导入时,就会出现问题。 dist 这个词不断出现。

配置具有公共依赖项的 TypeScript 项目以构建多个纯 JavaScript 输出文件

】配置具有公共依赖项的TypeScript项目以构建多个纯JavaScript输出文件【英文标题】:ConfigureaTypeScriptprojectwithcommondependenciestobuildmultipleplainJavaScriptoutputfiles【发布时间】:2020-02-0506:57:04【问题描述】:我目前正在为BotLand写somescripts... 查看详情

将本地库项目添加为 Android Studio 中多个项目的依赖项

】将本地库项目添加为AndroidStudio中多个项目的依赖项【英文标题】:AddlocalLibraryProjectasadependencytomultipleProjectsinAndroidStudio【发布时间】:2014-07-3117:30:27【问题描述】:我通过选择File>NewProject...>"Markthisprojectasalibrary&q... 查看详情

Autodesk forge 查看器 js 依赖项存储在本地项目中

...间】:2018-12-2319:54:34【问题描述】:我正在使用angular和typescript使用Autodesk查看器。我正在使用https://developer.api.autodesk.com/modelderivative/v2/v 查看详情

Typescript、Airbnb 和 eslint 导入/无外部依赖项(带别名)

】Typescript、Airbnb和eslint导入/无外部依赖项(带别名)【英文标题】:Typescript,Airbnbandeslintimport/no-extraneous-dependencieswithalias【发布时间】:2021-06-2016:35:27【问题描述】:好的,我正在尝试使用Airbnblinting规则设置打字稿。但我无法... 查看详情

多个项目的 Maven 依赖项与依赖项管理

】多个项目的Maven依赖项与依赖项管理【英文标题】:Mavendependenciesvsdependencymanagementformultipleprojects【发布时间】:2013-06-2210:35:40【问题描述】:很抱歉再次问这个问题。如果我做对了,请告诉我?我们有一个父pom和多个模块。现... 查看详情

使用 Mocha 和 Typescript 模拟依赖项

】使用Mocha和Typescript模拟依赖项【英文标题】:MockdependencieswithMochaandTypescript【发布时间】:2016-10-2706:51:33【问题描述】:我有一个使用mocha的打字稿项目。假设我们有如下两个模块。//http.tsexportclassHttp//app.tsimportHttpfrom\'./http\';ex... 查看详情

为啥使用 jasmine 对 Node typescript 项目进行 Karma 单元测试会显示包含依赖项的覆盖范围?

】为啥使用jasmine对Nodetypescript项目进行Karma单元测试会显示包含依赖项的覆盖范围?【英文标题】:WhyKarmaunittestswithjasmineforaNodetypescriptprojectshowscoverageincludingadependency?为什么使用jasmine对Nodetypescript项目进行Karma单元测试会显示包... 查看详情

Docker `npm install` 与 TypeScript 中的 GitHub 私有 repo 依赖项

】Docker`npminstall`与TypeScript中的GitHub私有repo依赖项【英文标题】:Docker`npminstall`withGitHubprivaterepodependencyinTypeScript【发布时间】:2021-12-0414:42:01【问题描述】:我们有一个NodeTypeScript项目,我们正在尝试Dockerize。该项目依赖于另一... 查看详情

Typescript:更新 Firebase 函数依赖项时出现编译错误

】Typescript:更新Firebase函数依赖项时出现编译错误【英文标题】:Typescript:compilationerrorswhenupdatingFirebasefunctiondependencies【发布时间】:2020-01-0612:34:17【问题描述】:我尝试更新我的Firebase函数项目的依赖项以使用更新版本的firebase... 查看详情

通过 npm 链接和 typescript 本地开发的多模块

】通过npm链接和typescript本地开发的多模块【英文标题】:Multi-modulevianpmlinkandtypescriptlocaldevelopment【发布时间】:2016-10-2312:28:17【问题描述】:我正在尝试使用NPM将依赖模块B与其依赖项A链接。使用this作为指导,我已经完成了以... 查看详情

如何将本地项目(不是 jar)作为依赖项添加到 Maven 项目

】如何将本地项目(不是jar)作为依赖项添加到Maven项目【英文标题】:Howtoaddlocalproject(notjar)asadependencytoaMavenproject【发布时间】:2017-10-1919:52:01【问题描述】:我有两个Maven项目作为两个模块添加到一个IntellijIdea的项目中。项目... 查看详情

如何为项目/lib 中的本地 jar 创建 Ivy 依赖项?

】如何为项目/lib中的本地jar创建Ivy依赖项?【英文标题】:HowtocreateanIvydependencyforlocaljarsinsideyourproject/lib?【发布时间】:2011-01-1316:26:04【问题描述】:我有几个jar文件(其中一些相互依赖),我正在尝试让ivy为我的项目管理它... 查看详情

警告:项目应用程序:仅支持 Jar 类型的本地依赖项

】警告:项目应用程序:仅支持Jar类型的本地依赖项【英文标题】:Warning:Projectapp:OnlyJar-typelocaldependenciesaresupported【发布时间】:2016-08-0515:20:30【问题描述】:我正在尝试通过youtubeAPI获取电影视频预告片,但是当我在依赖项中... 查看详情

SBT 原生打包器中的多个项目依赖项

】SBT原生打包器中的多个项目依赖项【英文标题】:MultipleprojectdependenciesinSBTnativepackager【发布时间】:2013-08-0704:33:24【问题描述】:我正在为一个由多个模块组成的项目使用SBT原生打包插件(https://github.com/sbt/sbt-native-packager)。在... 查看详情

本地服务器上的 Autodesk Forge 主机依赖项

...018-03-0818:26:37【问题描述】:我有一个forge查看器的angular/typescript实现,它当前正在从Autodesk服务器加载几个依赖项。但为了向我们的客户保证这些文件始终在线,我想将这些文件托管在我们公司的一台服务器上。我从AutodeskF 查看详情

可以在 Typescript 库中的 package.json 中将 @types 库作为正常依赖项吗?

】可以在Typescript库中的package.json中将@types库作为正常依赖项吗?【英文标题】:Itisoktohavea@typeslibraryasnormaldependencyinpackage.jsoninaTypescriptlib?【发布时间】:2019-02-0304:11:58【问题描述】:...如果Typescript项目也应该使用该库?我正在... 查看详情

使用 pipenv 安装本地依赖项的依赖项

】使用pipenv安装本地依赖项的依赖项【英文标题】:Installingdependenciesofalocaldependencywithpipenv【发布时间】:2019-04-2913:09:41【问题描述】:背景我们的项目具有以下高级目录结构*./datascience/├──core│└──setup.py├──notebooks│... 查看详情

如何检查多个java项目的所有缺少的依赖项/相关jar文件的列表?

...办法检查和列出所提供的Java项目的源代码中缺少的所有依赖项/依赖JAR?虽然像Eclipse这样的IDE正是这样做的,但还是需要大量的手动工作。有没有一种方法可以在更大范围内自动执行此操作,以便在多个Java项目上运行它,并在... 查看详情