问题标签 [pnpm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

javascript - 列出锁定文件中依赖项的所有依赖项

是否可以从锁定文件(npm/pnpm/ yarn)中列出特定依赖项的所有依赖项?

  • 这是相反的yarn ls
  • 如果 npm/pnpm/yarn 中有内置命令,我宁愿不读取锁定文件

我知道我可以向 npm registery 询问,但我正在寻找没有网络调用的解决方案(期望 npm/pnpm/yarn 安装)

0 投票
1 回答
2769 浏览

angular - 创建一个角度库并在我的角度项目中本地使用它

我正在尝试使用 Angular 9,我想创建一个项目,然后创建一个库项目并开始向其中添加我想稍后在 GitHub 上发布的通用模块,并在我的项目中本地使用这些库。

以下是相关的依赖项:

首先,我创建了我的角度项目,ng new foo并添加了角度材料依赖项ng add @angular/material

然后我创建了我的库项目,ng new tuxin-ec --create-application=false 并在其中执行了ng generate library animated-images --prefix=tuxin-ec.

我打算创建 15 个通用库以供使用和发布。这是这样做的方法吗?只ng generate library为每一个做?

目前在tuxin-ec我拥有的项目目录中的项目下animated-images,其中包含一个模块、服务和控制器,我将相关代码添加到控制器 html 和 css 中。

我想tuxin-ec在我的项目中本地链接。所以在我运行的tuxin-ec根目录下和我运行pnpm linkfoo目录下pnpm link tuxin-ec

在目录foonode_modules我也有 tuxin-ec 链接目录。

问题是我想做,import {AnimatedImagesModule} from 'tuxin-ec 但它抱怨找不到tuxin-ec

我能做的是import {AnimatedImagesModule} from 'tuxin-ec/dist/animated-images'

但即使那样,当我尝试AnimatedImagesModule在我的项目中导入时,我也会收到一个错误class AnimatedImagesModule is not an angular module

有什么方法可以达到我的预期结果吗?

谢谢你!

0 投票
0 回答
949 浏览

pnpm - 使用 pnpm 工作区时 Webpack 别名不起作用

使用 pnpm 工作区时出现错误,因为它无法解析 react-dom。我认为那是因为我有一个别名来使用 @hot-loader/react-dom 而不是 react-dom。但是,当我不使用工作区时它起作用了,这对我来说很奇怪。

在安装我的软件包之前,我尝试删除我的pnpm-lock.yaml和 node_modules 文件夹。我用来安装软件包的命令是:pnpm recursive i.

我有 2 个包裹。一个命名为前端,另一个命名为后端。

我的错误信息:

前端 webpack.config.dev.js (/Users/mg/projects/FSP/packages/front-end/webpack.config.dev.js) (别名朝下)

pnpm-workspace.yaml (/Users/mg/projects/FSP/pnpm-workspace.yaml) (在根目录下)

前端 package.json (/Users/mg/projects/FSP/packages/front-end/package.json)

后端 package.json (/Users/mg/projects/FSP/packages/back-end/package.json) (可能不相关)

0 投票
1 回答
991 浏览

node.js - 无法启动 pnpm 脚本 - 错误:命令失败,退出代码为 1

我正在使用 pnpm 启动我的 gulp 脚本,但这是我第二次遇到此错误并且我不知道如何修复它。

我试过了 :

  • 卸载然后重新安装节点
  • 与 pnpm、gulp-cli 和 gulp 相同
  • 删除 node_modules 文件夹,然后pnpm install
  • 重新安装 webpack、@babel/core、@babel/register
  • 添加type: module到我的 package.json

这是错误消息

这是我的gulp 脚本

感谢您的帮助!

0 投票
1 回答
312 浏览

npm - PNPM 安装确实有效,但 ProdBuild 失败

我使用了 pnpm install ,它确实对我有用。但是在进行 ProdBuild 时它失败了:

错误截图

对于之前使用 npm install 和 npm run ProdBuild 的同一个项目,ProdBuild 没有任何问题。但是使用 pnpm 进行产品构建失败了。有人可以帮帮我吗?

0 投票
1 回答
273 浏览

node.js - npm、pnpm、yarn 或 pkglink 以节省时间和磁盘空间?

我对每次为每个项目创建的 node_modules 文件夹的大小感到非常沮丧。所以,我一直在寻找一些节省时间和空间的解决方案。我找到了 PNPM ( https://pnpm.js.org/)、Yarn ( https://yarnpkg.com/ ) 和 Pkglink ( https://github.com/jeffbski/pkglink )。但我不确定哪个更适合我的目的。

我期待解决的问题:

  1. 我不想一遍又一遍地重新下载相同的包
  2. 我不希望相同的包出现在多个项目中并占用空间
  3. 我想要一个稳定、快速且节省磁盘空间的解决方案

寻求专家建议。

0 投票
1 回答
708 浏览

typescript - 如何阻止 TypeScript 编译器报告符号链接模块中的编译错误

我有一个由 rush.js 控制的 monorepo,PNPM 作为包管理器。

我曾经将所有共享模块预编译成cjs, esm,dts目标。但是这种方法有一些缺陷,所以我决定将它们保留为未触及的来源,并将它们的主要条目设置package.json"main": "./src/index.ts|x". 同时,我曾经react-app-rewired告诉 Webpack 只编译那些node_modules使用 babel 的符号链接库,并且一切正常。杰斯特也很高兴。

我遇到的问题是,当我tsc出于某种原因运行编译器时,编译器会深入到符号链接的本地包并报告很多问题(即使运行它们的编译器也没有任何问题tsc)。

TSForkWebpackPlugin报告了类似的问题,但我使用配置选项create-react-app忽略了它们,并认为这是插件站点上的某种错误,但似乎不是。reportFilesreact-app-rewired

我添加了各种exclude喜欢的 glob 模式,**/node_modules/@namespace/**但这些都不起作用。 也有吗?node_modules/@namespace/**node_modules/@namespace"skipLibCheck": true

tsconfig.json的供参考

0 投票
1 回答
1026 浏览

wildfly - 为什么嵌入式 vaadin 14 组件不出现在 XHTML 页面上?

我正在使用 Vaadin 14.2 以及 facelets 和 wildfly 18 开发一个演示项目。pnpmpom.xml.

我试图将我的 Vaadin 视图之一嵌入到 facelets 页面中,如下面的 Vaadin 网站上的文档中所述。

为什么嵌入式组件不显示在 facelets 页面上?

我尝试了调试和生产模式。

导航到 JSF 页面时,调试模式下的错误如下:

导航到 facelets 页面时,生产模式下的错误如下:

Facelets xhtml 页面

Vaadin 嵌入式组件

pom.xml 生产配置文件

0 投票
1 回答
484 浏览

webstorm - 如何在 WebStorm 中为 TypeScript 设置 cypress run

我有一个使用 TypeScript 构建的项目,我想使用 cypress run 来运行我的单元测试。当我从终端触发命令行时一切正常,但是如何在 WebStorm IDE 下设置 cypress 运行Run/Debug Configuration?唯一的可能性是设置 npm 命令,但我的项目使用pnpmnot npm

那么如何设置 cypress run underRun/Debug configuration呢?

0 投票
0 回答
152 浏览

node-modules - 如何将命令行变量传递给nps?

如何将参数从命令行传递到称为其他 nps 脚本的 nps 脚本?我知道我可以将参数传递给 nps 脚本,nps "script arg"但我想像./pnpm start test.unit file_path实际执行一样执行命令行./node_modules/xxx/bin/xxx run --spec file_path

到目前为止,如果我按照以下方式设置 package.json,我可以通过./pnpm run test file_path==得到我想要的xxx run --spec file_path

现在我想设置,nps但是如何让 nps 从命令行读取参数?所以当我打电话时./pnpm start test file_path它可以执行xxx run --spec file

我可以找到的已关闭 PR 是https://github.com/sezna/nps/issues/133#issuecomment-301915698但我仍然不明白如何通过它