首页 > 解决方案 > Webpack - 从 .d.ts 文件导入 const 不起作用 - 无法解析 '@nuvolo/servicenow-types/server/GlideRecord'

问题描述

我正在这样做:

import { GlideRecord } from "@nuvolo/servicenow-types/server/GlideRecord";

我有一个文件node_modules/@nuvolo/servicenow-types/server/GlideRecord.d.ts

它包含:

...
type GlideRecordConstructor = { new <T>(table: string): GlideRecord<T> };
type GlideRecord<T> = GlideRecordBase<T> & T;
declare const GlideRecord: GlideRecordConstructor;
export { GlideRecord };

如果我运行tsc它,没有错误

Webpack 说:

未找到模块:错误:无法解析 '@nuvolo/servicenow-types/server/GlideRecord' in ...

网络包配置:

    {
                mode: "production",
                //set name of record as the library name
                output: {
                    filename: "file.js"
                },
                module: {
                    rules: [
                        {
                            test: /\.ts$/,
                            use: 'ts-loader',
                            //use: 'awesome-typescript-loader',
                            exclude: /node_modules/,
                        },
                    ],
                },
                resolve: {
                    //modules: ['node_modules'],
                    extensions: [ '.ts', '.js' ], // Allows imports to work from .ts and .js
                },
            }

tsconfig.json:

{
  "transpile": false,
  "compilerOptions": {
    "lib": ["es2015", "dom"],
    "esModuleInterop": true,
    "baseUrl": ".",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true
  }
}

我该如何解决?

我还在这里创建了一个 GH 问题:https ://github.com/nuvolo/sincronia/issues/138

标签: javascriptwebpackservicenow

解决方案


推荐阅读