找不到模块的声明文件

新手上路,请多包涵

我正在尝试使用我创建的 nodejs 包,有人可以指出我做错了什么。

这是包结构的样子:

 node_modules
 |__my_commons
 |   |__dist
 |       |__src
 |       |    |__helpers.d.ts
 |       |    |__helpers.js
 |       |    |__index.d.ts
 |       |    |__index.js
 |       |__node_modules   <=This got recursively installed
 |       |__.npmignore
 |       |__package.json
src
 |_app/app.component.ts <= Here I am using it

my_commons/package.json

 {
  "_args": [
    [
      {
        "raw": "my_commons@bitbucket:ishan_dutta/my_commons",
        "scope": null,
        "escapedName": "my_commons",
        "name": "my_commons",
        "rawSpec": "bitbucket:ishan_dutta/my_commons",
        "spec": "bitbucket:ishan_dutta/my_commons",
        "type": "hosted",
        "hosted": {
          "type": "bitbucket",
          "ssh": "git@bitbucket.org:ishan_dutta/my_commons.git",
          "sshUrl": "git+ssh://git@bitbucket.org/ishan_dutta/my_commons.git",
          "httpsUrl": "git+https://bitbucket.org/ishan_dutta/my_commons.git",
          "shortcut": "bitbucket:ishan_dutta/my_commons",
          "directUrl": "https://bitbucket.org/ishan_dutta/my_commons/raw/master/package.json"
        }
      },
      "/Users/ishandutta2007/Documents/Projects/my_proj"
    ]
  ],
  "_from": "bitbucket:ishan_dutta/my_commons",
  "_id": "my_commons@1.0.0",
  "_inCache": true,
  "_location": "/my_commons",
  "_phantomChildren": {},
  "_requested": {
    "raw": "my_commons@bitbucket:ishan_dutta/my_commons",
    "scope": null,
    "escapedName": "my_commons",
    "name": "my_commons",
    "rawSpec": "bitbucket:ishan_dutta/my_commons",
    "spec": "bitbucket:ishan_dutta/my_commons",
    "type": "hosted",
    "hosted": {
      "type": "bitbucket",
      "ssh": "git@bitbucket.org:ishan_dutta/my_commons.git",
      "sshUrl": "git+ssh://git@bitbucket.org/ishan_dutta/my_commons.git",
      "httpsUrl": "git+https://bitbucket.org/ishan_dutta/my_commons.git",
      "shortcut": "bitbucket:ishan_dutta/my_commons",
      "directUrl": "https://bitbucket.org/ishan_dutta/my_commons/raw/master/package.json"
    }
  },
  "_requiredBy": [
    "#DEV:/"
  ],
  "_resolved": "git+https://bitbucket.org/ishan_dutta/my_commons.git#6fef24d35f8b2b1f6f3d362cccaf92ca4fa62a93",
  "_shasum": "ad2546c6aadd832baf97d5334b60cc355b4e6647",
  "_shrinkwrap": null,
  "_spec": "my_commons@bitbucket.org/ishan_dutta/my_commons",
  "_where": "/Users/ishandutta2007/Documents/Projects/my_proj",
  "author": "",
  "dependencies": {
    "@types/node": "^7.0.8",
    "aws-sdk": "2.28.0",
    "firebase": "^3.6.7",
    "gulp": "^3.9.1",
    "gulp-typescript": "^3.1.4",
    "requirejs": "^2.3.3",
    "typescript": "^2.0.10"
  },
  "description": "all common code to be shared across multiple projects",
  "devDependencies": {},
  "engines": {
    "node": "7.6.0"
  },
  "gitHead": "6fef24d35f8b2b1f6f3d362cccaf92ca4fa62a93",
  "license": "ISC",
  "main": "dist/src/index.js",
  "name": "mystartup_commons",
  "optionalDependencies": {},
  "readme": "ERROR: No README data found!",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "version": "1.0.0"
}

helpers.d.ts:

 export declare namespace Helpers {
    const tags: string[];
    function roundMinutes(date: any): any;
    function convertDateToUTC(date: any): Date;
}

helpers.js:

 "use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var http = require('http');
var https = require('https');
var fs = require('fs');
var AWS = require('aws-sdk');
var myBucket = 'videoreactions';
var Helpers;
(function (Helpers) {
    Helpers.tags = [
        'national',
        'business',
        'sports',
        'world',
        'politics',
        'technology',
        'startup',
        'entertainment',
        'miscellaneous',
        'science',
        'automobile'
    ];
    function roundMinutes(date) {
        date.setHours(date.getHours() + Math.round(date.getMinutes() / 60));
        date.setMinutes(0);
        return date;
    }
    Helpers.roundMinutes = roundMinutes;
    function convertDateToUTC(date) {
        return new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), date.getUTCHours(), date.getUTCMinutes(), date.getUTCSeconds());
    }
    Helpers.convertDateToUTC = convertDateToUTC;
})(Helpers = exports.Helpers || (exports.Helpers = {}));

索引.d.ts:

 export * from "./helpers";

索引.js:

 "use strict";
function __export(m) {
    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
__export(require("./helpers"));

应用程序组件.ts:

 import {Helpers} from 'my_commons';

错误:

[ts] 找不到模块“my_commons”的声明文件。 ‘/Users/ishandutta2007/Documents/Projects/my_proj/node_modules/my_commons/dist/src/index.js’ 隐式具有 ‘any’ 类型。

原文由 ishandutta2007 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

您没有在 package.json 中指出您的 my_commons 包中有类型:

 // my_commons package.json
{
  "typings": "dist/src/index.d.ts"
}

原文由 unional 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您无法导入常规 .js 文件 - 尝试在 tsconfig.json 中检查并将“ allowJs ”选项设置为 true

原文由 Eugene Zalivadnyi 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏