相关疑难解决方法(0)

React Uncaught ReferenceError:进程未定义

我遇到了 iframe 问题。直到今天,一切都按预期进行。今天我添加了一个非常简单的 Modal 组件,不知何故 iframe 开始出现。当我编辑文件并完成热重载时会出现它。此外,对于此问题,它在控制台中显示错误为“Uncaught ReferenceError:进程未定义”。有人可以帮我解决这个问题吗?

import React, {useEffect} from 'react';
import ReactDOM from "react-dom";
import Close from "../static/assets/close-white.svg"

const trapStyles = {
    position: 'absolute',
    opacity: 0
}
const Test = () => {

    return ReactDOM.createPortal(
        <div data-react-modal-body-trap="" tabIndex="0" style={trapStyles}/>,
        document.getElementById("app")
    )
}

const Modal = ({ open, onClose, children }) => {

    useEffect(() => {

        if (open)document.getElementById("app").classList.add("ReactModal__Body--open");

        return () => {
            document.getElementById("app").classList.remove("ReactModal__Body--open")
        }
    })
    if (!open) return null

    return ReactDOM.createPortal(
        <>
            <Test />
            <div className="ReactModal__Overlay--after-open">
                <div className="modal-form-page" …
Run Code Online (Sandbox Code Playgroud)

reactjs

221
推荐指数
11
解决办法
30万
查看次数

"npm install"和"npm ci"有什么区别?

我正在进行持续集成并发现了npm ci命令.

我无法确定在我的工作流程中使用此命令的优点.

它更快吗?它会使测试更难,好吗,之后?

continuous-integration npm npm-install npm-ci

143
推荐指数
7
解决办法
4万
查看次数

在package-lock.json中定义的依赖项中修复潜在安全漏洞的正确方法

Github在我的一个存储库上给了我这个错误.

We found a potential security vulnerability in one of your dependencies.
A dependency defined in ./package-lock.json has known security vulnerabilities 
and should be updated.
Run Code Online (Sandbox Code Playgroud)

我们的package.json文件中没有定义依赖项.根据我的理解,删除package-lock.json文件并重新生成它并不是一个好习惯.但是,我看不到任何其他方法来解决此问题.如果我解除此安全漏洞,它将在几天后再次出现.有任何想法吗?谢谢!

github npm package-lock.json

68
推荐指数
3
解决办法
2万
查看次数

如何用`yarn`覆盖嵌套的依赖项?

如果我的包有这些依赖项

{ "name": "my-package",
  "dependencies": { "foobar":"~1.0.3", "baz":"2.0.9" }
Run Code Online (Sandbox Code Playgroud)

并且foobar包具有这些依赖性

{ "name": "foobar",
  "dependencies": { "baz":"^2.0.0" }
Run Code Online (Sandbox Code Playgroud)

和最近发布的版本baz2.1.0,第一次运行yarn将安装baz@2.1.0foobar/node_modules.

如何强制纱线使用baz@2.0.9包装foobar

我的理解是这可以使用npm shrinkwrap(这个问题).


我的问题的摘要可能是:Yarn创建可重复的,确定性的安装,但我如何自定义该安装?

node.js npm npm-shrinkwrap yarnpkg

64
推荐指数
2
解决办法
2万
查看次数

使用NPM安装软件包时,您能告诉它使用其依赖项之一的不同版本吗?

假设你要安装的库lib-a具有依赖性dep-1dep-2.如果lib-a已在其package.json中声明使用的dep-2那个版本已过期(假设它在刚刚出现的节点0.8.0上不起作用),但有一个分支dep-2适用于节点0.8.0 -分支名称node0.8.0.

所以等式中的包是:

git://github.com/user-a/lib-a
git://github.com/user-b/dep-1
git://github.com/user-c/dep-2
git://github.com/user-c/dep-2#node0.8.0
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉NPM安装lib-a,但使用dep-2#node0.8.0而不是dep-2

使用NPM,您可以安装项目的特定分支,如下所示:

npm install git://github.com/user-c/dep-2#node0.8.0
Run Code Online (Sandbox Code Playgroud)

如果我要自定义package.json lib-a,你可以告诉它使用dep-2#node0.8.0这样:

{
  "name": "lib-a",
  "dependencies": {
    "dep-1": ">= 1.5.0",
    "dep-2": "git://github.com/user-c/dep-2#node0.8.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

通过修改package.json,您可以运行

npm install lib-a
Run Code Online (Sandbox Code Playgroud)

它将安装节点0.8.0兼容dep-2分支.但是,这需要我有权修改lib-a,对于我的具体情况,我没有.从技术上讲,我可以fork lib-a并对package.json进行上述更改.但在我的具体情况下,lib-a另一个库的依赖,所以我必须分叉它引用的项目,然后......

所以问题是,有没有办法告诉NPM安装lib-a,并告诉它使用node0.8.0分支dep-2?像这样的东西:

npm install lib-a --overrides dep-2:git://github.com/user-c/dep-2#node0.8.0
Run Code Online (Sandbox Code Playgroud)

那将是真棒.如果这是不可能的,那将是很好的知道,所以我可以准备自己必须分叉/定制项目链.

dependencies node.js npm

61
推荐指数
1
解决办法
7万
查看次数

修复上游依赖冲突安装 NPM 包

尝试 npm install vue-mapbox mapbox-gl 并且我收到依赖树错误。

我正在使用 Vuetify 运行 Nuxt SSR,并且在运行此安装并出现此错误之前没有安装任何与 Mapbox 相关的东西。

38 error code ERESOLVE
39 error ERESOLVE unable to resolve dependency tree
40 error
41 error While resolving: [1mexample[22m@[1m1.0.0[22m
41 error Found: [1mmapbox-gl[22m@[1m1.13.0[22m[2m[22m
41 error [2mnode_modules/mapbox-gl[22m
41 error   [1mmapbox-gl[22m@"[1m^1.13.0[22m" from the root project
41 error
41 error Could not resolve dependency:
41 error [35mpeer[39m [1mmapbox-gl[22m@"[1m^0.53.0[22m" from [1mvue-mapbox[22m@[1m0.4.1[22m[2m[22m
41 error [2mnode_modules/vue-mapbox[22m
41 error   [1mvue-mapbox[22m@"[1m*[22m" from the root project
41 error
41 error Fix the upstream dependency conflict, or …
Run Code Online (Sandbox Code Playgroud)

javascript dependencies node.js npm mapbox

52
推荐指数
9
解决办法
5万
查看次数

npm相当于纱线分辨率?

是否有相当于纱线分辨率功能的npm ?在npm package.json docs中没有提到它.

例如,我想在3.3.2安装lerna@3.3.2及其中一个依赖项(@ lerna/publish).目前使用像这样的纱线,但更喜欢使用npm而不是手动更改package-lock.json或类似的任何狡猾.

"devDependencies": {
  "lerna": "3.3.2",
},
"resolutions": {
  "@lerna/publish": "3.3.2"
}
Run Code Online (Sandbox Code Playgroud)

npm package.json yarnpkg

27
推荐指数
5
解决办法
1万
查看次数

如何更新npm嵌套(易受攻击)依赖?

Github已将我的应用锁定文件中的依赖项标记为易受攻击.

要修复它,我应该将该软件包更新到更新的版本.

如果我对易受攻击的软件包没有任何控制,我该怎么做呢,因为它嵌套在依赖树中?

抱歉,如果这是一个非常基本的问题,但我似乎没有找到任何有用的.

node.js npm

18
推荐指数
2
解决办法
2871
查看次数

如何使用不同的包(不仅仅是不同的包版本号)覆盖嵌套的 npm 子依赖项?

概述

我在解决由 识别的 ReDoS 漏洞时遇到问题npm audit。我的应用程序有一个嵌套的子依赖项ansi-html,很容易受到攻击,但不幸的是,维护者似乎擅离职守了。正如您在 Github 问题的评论部分中看到的,为了解决这个问题,社区对位于ansi-html-community此处的存储库进行了分叉存储库进行了分叉,以解决此漏洞。

因此,我想将所有嵌套引用替换ansi-htmlansi-html-community

问题

我的正常使用策略npm-force-resolutions似乎无法完全覆盖不同包的嵌套子依赖项,而只能覆盖具有不同版本号的相同包。我已经研究了几个小时,但不幸的是,我发现解决这个问题的唯一方法似乎是使用纱线,我现在正在认真考虑使用yarn而不是npm。然而,这并不理想,因为我们的整个 CI/CD 管道都配置为使用 npm。

有谁知道有任何其他方法可以完成嵌套子依赖包替换/解析而不必切换到使用yarn?

相关问题

这些是我能够找到的感兴趣的问题,但不幸的是,他们往往只讨论覆盖包版本号的方法,而不是包本身。

讨论如何覆盖版本号:

如何覆盖嵌套的 NPM 依赖项版本?

有评论讨论npm shrinkwrap(不理想):

npm - 如何覆盖依赖包的依赖项?

node.js npm

13
推荐指数
1
解决办法
2万
查看次数

Angular 和 NPM 依赖项 VS devDependency

在阅读了一堆关于这个问题的文章并遵循这篇非常有用的文章之后:What's the Difference Between dependency, devDependencies and peerDependencies in npm package.json file?

我知道依赖项应该引用每个运行时库,而 devDependency 引用每个对开发依赖项有用的东西。

但我现在很困惑。对于生产用途,我将需要ng build --production我的 Angular 应用程序。如果我这样做npm install --production,我什至无法编译ng build --production。我需要安装npm install每个 devDependency。知道这一点后,我尝试将所有内容都放在 devDependency 下,然后我做了一个ng build --prod,生成的[dist]文件夹包含所需的所有内容,并且可以作为完整的角度应用程序。

所以,第一个问题是:除了在运行时库和开发库之间进行“纸上”区别之外,为什么我应该使用依赖项?

其他问题:为了避免依赖项的依赖项上的漏洞,我可以通过将此库放入 package.json 中来强制使用特定版本(只要主要版本相同)。但我想避免将此库放在依赖项或 devDependency 中,我应该将此库放在 peerDependency 下吗?可选依赖项 ? 捆绑依赖关系 ?

感谢您对此的任何意见。

编辑

需要示例 package.json:

{
  "name": "ANGULAR_PROJECT",
  "version": "X.Y.Z",
  "repository": {
    "type": "git",
    "url": "A_GIT_URL"
  },
  "scripts": {
    "ng": "ng",
    "test": "ng test",
    "e2e": …
Run Code Online (Sandbox Code Playgroud)

npm npm-install angular

12
推荐指数
1
解决办法
8087
查看次数