【发布时间】:2022-02-21 22:54:40
【问题描述】:
当我运行我的 react-native 项目时,它会出现以下错误:
编译失败。
找不到模块:无法解析“F:\App 2nd\chat2\SecreteChat\node_modules\expo-constants\build”中的“uuid/v4”
我该如何解决?
【问题讨论】:
标签: react-native
当我运行我的 react-native 项目时,它会出现以下错误:
编译失败。
找不到模块:无法解析“F:\App 2nd\chat2\SecreteChat\node_modules\expo-constants\build”中的“uuid/v4”
我该如何解决?
【问题讨论】:
标签: react-native
你必须更新 node_modules/expo-constants/exponentConstants.web.js
-- 旁注我一直在运行 expo 网络,所以我不知道是否有 Expoconstants.Android... 或 expoConstants.ios... 您也必须更新。我也一直在使用 yarn add ____ 来处理我的大部分依赖项,所以如果你做了不同的事情,请告诉我们。错误上方的错误行应该告诉你它来自我的哪里说它在这里:
Y:/Serviced/inService/node_modules/expo-constants/build/ExponentConstants.web.js
导航到该文件,并查看 node_modules/expo-constants/exponentConstants.web.js 中的第 3 行
import uuidv4 from 'uuid/v4
并将其更改为:
import {v4 as uuidv4} from 'uuid';
由于 node_modules/uuid 中的文件结构而发生此错误,如果您查看不再有要导入的 uuidv4 而是导出 v4。您可以将开发人员编写 uuidv4 的所有位置更改为 v4,但使用 { this as that } 语法,您不必重写一堆代码。
【讨论】:
这是我解决它的步骤:
安装 uuid(我假设你已经这样做了)。
npm install uuid
然后从uuid库中导入uuidv4
const { v4: uuidv4 } = require('uuid');
然后您可以继续使用它。例如:
const expenseList = [
{ id: uuidv4(), expenseItem: "rent", amount: 1000 },
{ id: uuidv4(), expenseItem: "car note", amount: 2000 },
{ id: uuidv4(), expenseItem: "mortgage", amount: 3000 },
];
【讨论】:
我解决了这个问题......只是你不应该把这个:
import uuidv4 from 'uuid/v4'
但你应该放
import uuid from 'uuid/package.json'
【讨论】:
这对我有用
import * as uuid from 'uuid'
uuid.v4()
【讨论】:
安装包使用:
npm install uuid
【讨论】:
npm install uuid
import { v4 as uuidv4 } from 'uuid';
uuidv4(); // ⇨ '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
... 或使用 CommonJS 语法:
const { v4: uuidv4 } = require('uuid');
uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
然后你可以用它来设置id,比如
const person = {
id: uuidv4(),
....
}
【讨论】: