标签: nanoid

Nanoid4 中的 codecept 错误 [ERR_REQUIRE_ESM]:ES 模块的 require()

我更新到 nanoid4 并开始收到以下错误:

[ERR_REQUIRE_ESM]:不支持 ES 模块 [...]/node_modules/nanoid/index.js 的 require()。相反,将 [...]/signup_test.ts 中的 index.js 的 require 更改为动态 import(),该动态 import() 在所有 CommonJS 模块中都可用

这是它抱怨的导入:

import { customAlphabet } from 'nanoid'
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的 tsconfig 文件:

{
    "ts-node": {
      "files": true
    },
    "compilerOptions": {
      "jsx": "react-jsx",
      "types": [
        "node",
        "codeceptjs"
      ],
      "experimentalDecorators": true,
      "lib": [
        "dom",
        "dom.iterable",
        "esnext"
      ],
      "allowJs": true,
      "skipLibCheck": true,
      "strict": false,
      "forceConsistentCasingInFileNames": true,
      "noEmit": true,
      "esModuleInterop": true,
      "module": "ES6",
      "moduleResolution": "node",
      "resolveJsonModule": true,
      "incremental": true,
      "target": "ESNext",
    },
    "include": [
      "next-env.d.ts",
      "**/*.ts", …
Run Code Online (Sandbox Code Playgroud)

typescript es6-modules nanoid

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

Nanoid不能用于react-native

我不知道当我在 React Native 中使用nanoid包时到底发生了什么,它显示了某种以下错误。我不确定。

\n

我希望有人能从这个社区得到帮助。

\n

提前致谢。

\n

场景:我只是导入到 nanoid 包中。

\n
import { nanoid } from 'nanoid';\n
Run Code Online (Sandbox Code Playgroud)\n
Error: React Native does not have a built-in secure random generator. If you don\xe2\x80\x99t need unpredictable IDs use `nanoid/non-secure`. For secure IDs, import `react-native-get-random-values` before Nano ID.    \nat node_modules\\react-native\\Libraries\\LogBox\\LogBox.js:148:8 in registerError\nat node_modules\\react-native\\Libraries\\LogBox\\LogBox.js:59:8 in errorImpl\nat node_modules\\react-native\\Libraries\\LogBox\\LogBox.js:33:4 in console.error\nat node_modules\\expo\\build\\environment\\react-native-logs.fx.js:27:4 in error\nat node_modules\\react-native\\Libraries\\Core\\ExceptionsManager.js:104:6 in reportException\nat node_modules\\react-native\\Libraries\\Core\\ExceptionsManager.js:171:19 in handleException\nat node_modules\\react-native\\Libraries\\Core\\setUpErrorHandling.js:24:6 in handleError\nat node_modules\\react-native\\Libraries\\polyfills\\error-guard.js:49:36 in ErrorUtils.reportFatalError   \nat node_modules\\metro\\src\\lib\\polyfills\\require.js:204:6 in guardedLoadModule\nat http://192.168.43.19:19000/node_modules%5Cexpo%5CAppEntry.bundle?platform=android&dev=true&hot=false&minify=false:203661:3 in …
Run Code Online (Sandbox Code Playgroud)

react-native nanoid

7
推荐指数
2
解决办法
6587
查看次数

如何在nodejs中安装nanoid?

我目前正在尝试在我的(Firebase)nodejs 项目中导入和使用 nanoid。我安装了它

npm i nanoid
Run Code Online (Sandbox Code Playgroud)

我尝试导入它

import { nanoid } from 'nanoid'
Run Code Online (Sandbox Code Playgroud)

import { nanoid } from '../node_modules/nanoid/nanoid.js'
Run Code Online (Sandbox Code Playgroud)

我尝试的一切都失败了。我是 Nodejs 和 js 本身的初学者,但没有网站或文档帮助我解决问题。我只想要一个唯一的 ID :(

这是我的index.html(减少到最小值:

<!DOCTYPE html>
<html>
  <head>
    <title>Welcome to Firebase Hosting</title>

    !!!Here are Firebase imports!!!
 
    <script defer src="/__/firebase/init.js?useEmulator=true"></script>
    <link rel="stylesheet" href="style.css">


  </head>
  <body>

    <div class="registerContainer">

    <div class="registerContent">
    <h1 id="title">Sign up</h1>
    <iframe name="hiddenFrame" width="0" height="0" border="0" style="display: none;"></iframe>
    <form id="form" onsubmit="return false">
    


      <!-- Birth date Input (required) -->
      <div class="input_field">
          <input id="date" onfocus="(this.type = 'date')" class="text_input" …
Run Code Online (Sandbox Code Playgroud)

javascript node.js npm nanoid

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

如何在NestJS中安装nanoid

我尝试将 nanoid 导入 NestJS 并收到此错误:

错误 [ERR_REQUIRE_ESM]:ES 模块的 require() ....
... 而是将 ... 中的 index.js 的 require 更改为所有 CommonJS 模块中都可用的动态 import() 。

导入代码是:

import { Injectable } from '@nestjs/common';
import { nanoid } from 'nanoid';   //wont import, gives error
import { User } from './data-objects/user.object';
Run Code Online (Sandbox Code Playgroud)

我还尝试了导入语句的变体:

// I tried this alternative
import * as nanoid from 'nanoid';

// Also tried this
const nanoid = require ( 'nanoid' );
Run Code Online (Sandbox Code Playgroud)

什么都没起作用。

为什么会发生此错误以及我应该如何在 NestJS 中安装 nanoid ?

es6-modules nestjs nanoid

3
推荐指数
1
解决办法
3233
查看次数