NodeJS NPM start:TypeError:ext[key].bind不是函数

b09cbbtk  于 2023-04-11  发布在  Node.js
关注(0)|答案(3)|浏览(432)

我尝试在react上运行npm start,遇到以下错误。我尝试重新安装npm和node.js。错误bind不是函数错误继续出现。我错过了什么?

PS C:\Users\XXXXXXXXXX> npm run start

\XXXXXXXXX\node_modules\renderkid\node_modules\domutils\index.js:12
                DomUtils[key] = ext[key].bind(DomUtils);
                                         ^

TypeError: ext[key].bind is not a function
    at C:\XXXXXXXXXXXX\node_modules\renderkid\node_modules\domutils\index.js:12:28
    at Array.forEach (<anonymous>)
    at C:\XXXXXXXXXXXX\node_modules\renderkid\node_modules\domutils\index.js:11:19
    at Array.forEach (<anonymous>)
    at Object.<anonymous> (XXXXXXXXXXXX\node_modules\renderkid\node_modules\domutils\index.js:10:3)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
npm ERR! code 1
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c set PORT=3005 && react-scripts start

这是在node_modules〉Domutils〉index.js中调用DomUtils的地方

var DomUtils = module.exports;

[
    require("./lib/stringify"),
    require("./lib/traversal"),
    require("./lib/manipulation"),
    require("./lib/querying"),
    require("./lib/legacy"),
    require("./lib/helpers")
].forEach(function(ext){
    Object.keys(ext).forEach(function(key){
        DomUtils[key] = ext[key].bind(DomUtils);
    });
});
rqmkfv5c

rqmkfv5c1#

我第一次使用docker在ngnix上构建一个react应用程序和主机,我在为react应用程序构建镜像时遇到了同样的问题。
我使用以下脚本来构建镜像,它很有帮助,我已经将nodeJS版本从node:7.10更改为node:14.1-alpine
这是我的Docker文件

FROM node:14.1-alpine AS builder

WORKDIR /opt/web
COPY package.json package-lock.json ./
RUN npm install

ENV PATH="./node_modules/.bin:$PATH"

COPY . ./
RUN npm run build

FROM nginx:1.17.1-alpine

COPY --from=builder /opt/web/build /usr/share/nginx/html

希望这对那些试图在ngnix上为react应用程序和主机构建docker镜像的人有帮助。

a0x5cqrl

a0x5cqrl2#

我遇到了同样的错误。我在我的项目git仓库上做了一个npm install,它被package-lock.json修改,因此做npm run start带来了这个错误。为了解决这个问题,我恢复了我的package-lock.json,做了一个npm ci,然后做npm run start工作。

jq6vz3qz

jq6vz3qz3#

试着恢复你的项目&运行npm ci而不是npm install它对我有效,由于某种原因npm install会破坏你的锁文件。

相关问题