我只能要求一个模块使用.require() -有替代方案吗?



我已经制作了这个npm包:https://github.com/subgeniuscorp/secret-helper

从主索引导出一个对象。文件如下:

export default {
generateSalt,
createHash,
generateApiKey,
validateHash,
generateRandomString,
}

这是我的tsconfig。Json看起来像:

{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"declaration": true,
"declarationMap": true,
"outDir": "./lib",
"strict": true,
"moduleResolution": "Node",
"esModuleInterop": true
},
"include": [
"src"
],
"exclude": [
"node_modules",
"test"
]
}

现在,当我尝试在我的节点项目(即不是typescript项目)中使用这个包时,我只能这样做:

const sh = require("@subgeniuscorp/secret-helper").default;

我做错了什么吗?我能做些什么来要求这个项目没有.default位吗?我试图理解我是否做错了什么,或者这是这两个模块如何相互作用。

您要查找的名称为export

export {
generateSalt,
createHash,
generateApiKey,
validateHash,
generateRandomString,
}

那么你可以像这样使用require

导入它
const sh = require("@subgeniuscorp/secret-helper")

import

import * as sh from "@subgeniuscorp/secret-helper"

import使用allowSyntheticDefaultImports标志

import sh from "@subgeniuscorp/secret-helper"

最新更新