网站搜索

javascript - 使用 Yarn 运行 npm 脚本时出错:"ERR spawn EINVAL"

当我尝试运行涉及 Yarn 的 npm 脚本时遇到了错误。以下是事件的顺序:

  1. 我已经用 create-react-app 初始化了一个项目。
  2. 已将以下脚本添加到我的 package.json 文件中
"scripts": { "lint": "yarn add -D prettier && yarn add -D babel-eslint && npx install-peerdeps --dev eslint-config-airbnb && yarn add -D eslint-config-prettier eslint-plugin-prettier" }
  1. 当我运行 npm run lint 时,会提示我是否使用 Yarn,我的回答是“y”。
  2. 然而,我遇到了以下错误:"ERR spawn EINVAL"。

    阅读更多 →

javascript - 如何为前端和后端使用同一个包管理器?(Yarn/NPM)

以前我会使用 NPM 来处理服务器端的东西,使用 Bower 来处理前端。NPM 会安装到 node_modules/ 目录,我有一个 .bowerrc 文件,将这些包安装到 public/lib。

现在我已经开始使用 Yarn 代替 NPM;由于它们几乎 1:1 兼容,所以转换非常顺利。不过,现在我想知道是否可以放弃 Bower,只使用 Yarn 来处理所有事情。但是我没有看到(无论是在 NPM 还是 Yarn 中)有办法将普通包安装到 node_modules,同时又有一

阅读更多 →

reactjs - 为什么重新创建 yarn 锁文件会导致类型错误?

我有一个使用 TypeScript 和 Yarn 来管理应用依赖的 React/Redux 项目。每当我删除 node_modules 文件夹、yarn lock 文件,然后使用 yarn install 重新创建 node_modules 文件夹和 lock 文件时,整个应用都会因为类型错误而崩溃。

删除 yarn 锁文件并通过 yarn install 重新创建它是否是不好的做法?

答案#1

你可以使用以下方法检查你的 yarn.lock 文件的完整性

阅读更多 →

yarnpkg - 我如何让 Yarn 扁平化我的 TypeScript 类型定义?

我已经安装了 @types/react 和 @types/react-dom。假设它们之前是 15 版本,然后我使用 yarn upgrade @types/react@16 @types/react-dom@16 升级了它们。

@types/react-dom 声明了对 @types/react 的依赖,使用 "@types/react": "*",也就是说它应该能够与新安装的版本一起工作。然而,很显然 Yarn

阅读更多 →

typescript - Rails:在测试环境中启动 Yarn 构建

我正在开发一个 Rails 5.1.4 应用程序,我刚刚添加了 Webpack/Yarn 来开始使用 TypeScript。

我想把多个 TypeScript 文件编译成一个 app.js 文件,并将其包含在我的布局中。

在本地,我正在使用 docker-compose 设置工作。一个 webpack-dev-server 与我的本地网络服务器一起启动,一切运行正常。

在我的预演环境中,app.js 的编译工作正常。

我的问题出在测试环境。我不能再在本地运行我的规格了,我收到这个错误:

ActionView::Template::Error: 资源 "bundles/app.js" 不存在于资产管道中。

app.js 文件是由 yarn build 命令生成的。有任何配置可以确保 app.js 在测试环境中被编译吗?并且能够保持该文件与最新的 Ts 代码更改同步吗?

阅读更多 →

node.js - Node:使用 npm/yarn 导入 Typescript 库

我有一个 Node-Typescript 项目。该项目依赖于另一个 Typescript 项目。这个依赖直接指向我的 Bitbucket 仓库。当我运行“yarn install”时,整个仓库都会被克隆到我的 node_modules 中。这非常完美。在我的库项目的根目录下有一个 index.ts 文件,其中包含这一行“export * from './source'”,以便将全部内容导出。我在代码中导入并使用库中的一些类。

当我编译项目时,会出现异常:“找不到模块 './source'。”此外,在 Intellij 中无法自动导入类。

我哪里做错了?

注意:我知道,对于库来说,“正确”的做法是生成 JS 和类型文件,并将编译后的源代码放入私有 NPM 仓库。由于我是唯一使用该库的人,我想采用更简单的方法,只需将未编译的 TypeScript 导入到我的项目中。

阅读更多 →

yarnpkg - 在使用 Yarn 工作区的 Typescript 引用时,如何添加自定义类型定义?

我正在尝试创建一个使用 TypeScript 新引用功能的示例 yarn 工作区仓库:

https://github.com/tommedema/serverless-mono-example/tree/feature/external-types

当一个外部库没有类型定义时,应当可以手动添加这些类型。我到目前为止所做的:

  1. 创建了一个 packages/types 工作区
  2. 在 packages/types/camelcase 添加了一个示例,并包含一个 index.d.ts 文件:

    声明模块 'camelcase' { 导出默认函数 camelCase( strs: string | string[], options: { pascalCase?: boolean } ): string }

  3. 更新了依赖包

    阅读更多 →

javascript - 我不想在 yarn build 后生成 typescript.worker.js 文件

在执行 yarn build 后,文件 typescript.worker.js 超过 4 MB,它对我的项目没有用,我不想在 yarn build 后保留它,如何删除它,我不想手动删除

我看不到它是在哪里构建的,在 package.json 和 webpack 中查找

File sizes after gzip: 858.67 KB build/typescript.worker.js 471.51 KB build/static/js/8.b5523fe5.chunk.js 441.07 KB build/static/js/7.8b975f3d.chunk.js 131.28 KB build/css.worker.js 104.84 KB build/html.worker.js 49.78 KB build/json.worker.js 39.35 KB build/static/css/7.9a32aa22.chunk.css 39.25 KB build/static/c

阅读更多 →

javascript - Yarn link 对同一个 Angular 项目中的一个文件有效,但对另一个文件报错

我正在尝试构建一个 Angular 项目,其中有 3 个文件 - getComputers.js、getIps.js 和一个 TypeScript 文件 - app.ts。我需要在两个 JavaScript 文件中都引入 trendmicro 模块。对于一个文件可以正常工作,但另一个文件却抛出模块未找到错误。

我运行了以下命令将 TrendMicro 模块链接到我的项目中。

yarn link "@trendmicro/deepsecurity"

它成功地被链接了。问题出现在 getIps.js,而在 getComputers.js 中没有出现,以下是我尝试过的:

获取电脑.js

function getThoseComps(p1,p2) { return new Promise((resolve, reject) => { const api = require("@trendmicro/deepsecurity"); //This

阅读更多 →

typescript - 当我使用 yarn build(它会调用 tsc)时出现错误,而当我在终端中使用 tsc 时没有错误?

有什么原因会导致我在执行 yarn build(它会调用 tsc)时出现错误,而在终端直接执行 tsc 时却没有错误吗?

在 package.json 中,我有

"scripts": { "build": "tsc", }

终端中的 tsc 不会抛出错误:

在终端中运行 yarn buil

阅读更多 →