发布了一个 npm 模块,但用户安装时没有获得文本预测(智能感知)

问题描述 投票:0回答:1

我目前正在处理我的包@xatsuuc/startonomy。

由于某种原因,当我在用户端安装它时,它没有获得智能感知。以下是我的文件。当我安装该包并转到 node_modules/@xatsuuc/startonomy 时,它显示 .d.ts 文件,但由于某种原因,没有任何文本预测有效。另外,对此有什么建议吗?我不知道在用户的电脑上编译时我是否做对了,或者我是否正确导出了模块。预先感谢。

tsconfig.json

{
  "compilerOptions": {
    "target": "ESNext",
    "resolveJsonModule": true,
    "module": "commonjs",
    "lib": [],
    "allowJs": true,
    "declaration": true,
    "outDir": "./compiled",
    "rootDir": "./src",
    "removeComments": false,
    "moduleResolution": "node",
    "rootDirs": ["./src"],
    "types": ["@types/mysql", "@types/node"],
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": [
    "./src/**/*"
  ],
  "exclude": []
}

package.json

{
  "name": "@xatsuuc/startonomy",
  "version": "2.0.0-Gamma",
  "description": "A discord-based economy system",
  "main": "compiled/index.js",
  "repository": "https://github.com/xAtsuUC/Startonomy.git",
  "author": "Tiziano Fioretti <[email protected]>",
  "license": "CC BY-SA 4.0",
  "private": false,
  "dependencies": {
    "mysql": "^2.18.1"
  },
  "files": [
    "src",
    "README.md",
    "tsconfig.json"
  ],
  "devDependencies": {
    "@types/mysql": "^2.15.26",
    "@types/node": "^20.11.30",
    "@typescript-eslint/eslint-plugin": "^7.3.1",
    "@typescript-eslint/parser": "^7.3.1",
    "eslint": "^8.57.0",
    "typedoc": "^0.25.12",
    "typedoc-material-theme": "^1.0.2",
    "typescript": "^5.4.3"
  },
  "publishConfig": {
    "registry": "https://registry.npmjs.org/",
    "access": "public"
  },
  "scripts": {
    "preinstall": "npm i typescript",
    "install": "tsc",
    "postinstall": "npm uninstall typescript"
  }
}

GuildManager.ts

import { Pool, ConnectionConfig } from "mysql"
import { EventEmitter } from "node:events"
import Util from "./Util"

/**
 * Guild Manager
 * @class GuildManager
 * @extends EventEmitter
 * @param {ConnectionConfig} database - The database connection configuration
 * @example
 * const economy = new guildManager({
 *     host: "localhost",
 *     user: "root",
 *     password: "password",
 *     database: "database"
 * });
 */
class GuildManager extends EventEmitter {
    database: ConnectionConfig
    util: Util
    constructor(database: ConnectionConfig) {
        super()
        this.database = database
        this.util = new Util()
    }

    public test() {
        console.log("Test")
    }
}

export default GuildManager

索引.ts

import GuildManager from "./GuildManager"
import Util from "./Util"

module.exports = { GuildManager, Util }
javascript node.js typescript visual-studio-code intellisense
1个回答
0
投票

您应该在 package.json 中定义

types
。例如:

{
 "types": "dist/index.d.ts",
}
© www.soinside.com 2019 - 2024. All rights reserved.