带有本地 npm 包的 Snowpack

Posted

技术标签:

【中文标题】带有本地 npm 包的 Snowpack【英文标题】:Snowpack with local npm packages 【发布时间】:2021-05-05 11:00:44 【问题描述】:

我们在使用我们的包结构运行 snowpack 时遇到问题。

我们的结构:

adapters
app
core
presentation

每个包都包含打字稿,并且都在app包中使用。

"dependencies": 
    "@project/adapters": "file:../../adapters",
    "@project/core": "file:../../core",
    "@project/presentation": "file:../../presentation",

我收到错误Dependency Install Error: Package "@project/adapters/src/repositories/GradeFeedRepositoryImpl" not found. Have you installed it?

我需要如何配置 snowpack、webpack、babel 等才能运行它?

【问题讨论】:

【参考方案1】:

我已经成功打包模块(使用:模块文件夹根目录中的npm pack /path/to/module)并从repo 中的文件夹将tarball 添加到我的package.json。例如,

"dependencies": 
...

   "adapters": "file:packs/adapters-1.0.0.tgz"

...



另一种选择,看看对您的 snowpack.config.js 文件进行此编辑是否有帮助:

packageOptions: 
    external: [
        "@projects/adapters"
    ]


【讨论】:

你能构建模块并在主 package.json 中使用链接协议吗? 我认为这将取决于您如何部署应用程序。例如,对于我的一个存储库,我将应用程序复制并构建在 dockerfile 中。使用相对链接,模块将丢失(因为它存在于自己的存储库中),所以我不相信相对链接将在所有部署环境中工作。

以上是关于带有本地 npm 包的 Snowpack的主要内容,如果未能解决你的问题,请参考以下文章

本地包调试 :npm link

NPM包的安装及卸载

Npm pack 包含本地模块

本地项目的npm安装方法

关于IDEA使用Maven工具打包带有本地依赖包的项目 在部署时 仍然找不到本地依赖包中某个类,发生ClassNotFoundException的异常

npm Guide