Javascript 如何创建用于云函数或docker的通用代码模块
我有一个带有前端、云函数和后端(docker)包的类型脚本monorepo。我想添加一个“通用”包,供所有人使用 一些生产环境,如Google Cloud Functions和Docker(至少在一种常见用法中)将当前应用程序的目录打包,并将其发送到远程服务器,在远程服务器上进行“纱线安装”以安装所有依赖项。这意味着引用公共包(Javascript 如何创建用于云函数或docker的通用代码模块,javascript,typescript,google-cloud-functions,yarnpkg,yarn-workspaces,Javascript,Typescript,Google Cloud Functions,Yarnpkg,Yarn Workspaces,我有一个带有前端、云函数和后端(docker)包的类型脚本monorepo。我想添加一个“通用”包,供所有人使用 一些生产环境,如Google Cloud Functions和Docker(至少在一种常见用法中)将当前应用程序的目录打包,并将其发送到远程服务器,在远程服务器上进行“纱线安装”以安装所有依赖项。这意味着引用公共包(import*as common from“./../common”等)的明显方式不起作用,因为生成服务器在那里找不到common。 此外,不幸的是,docker和GCF
import*as common from“./../common”
等)的明显方式不起作用,因为生成服务器在那里找不到common
。
此外,不幸的是,docker和GCF不遵循符号链接,因此纱线链接:
协议没有帮助。
由于我和应用程序一样都在编写通用代码,所以我真的不想在每次更改时都将其发布到私有NPM注册表。我希望变更过程尽可能无缝。
最无缝的方法是将common
符号链接到每个应用程序的node_模块中,但(a)删除这些模块,(b)构建者不遵循符号链接。因此,我假设在更改公共代码时需要某种构建/推送过程
想要将公共代码抽象成自己的模块,可以在monorepo中的任何地方使用,这似乎是一种常见的事情,但我找不到一个有效的解决方案。(对于额外的要点,我希望在IDE中“跳转到定义”,转到实际的定义,而不是本地副本。)有什么想法吗?纱线2可以帮助这个用例吗