Rockset - Не удалось найти объявление модуля для модуля ./rest/index. ../../rest/index.js имеет неявный тип любой - PullRequest
0 голосов
/ 05 июля 2019

Я просматривал все другие посты об аналогичных проблемах в проектах реагировать / набирать текст, но ни один из них не работал для меня ... даже не меняя noImplicitAny на false и строго на false, это ts.config или установка«exclude» и «typeRoots».

Я пытался объявить модуль, я пытался поместить его в файл .d.ts, я пытался использовать @ ts-ignore, я не могузаставить что-нибудь работать.Это сводит меня с ума ... может кто-нибудь сказать мне, как решить это раз и навсегда, чтобы я мог заставить это правильно скомпилироваться?

В index.js есть намного больше проблем того же типафайл, но один раз с кучей требует бросить ту же проблему, но как только я могу решить эту проблему, я должен быть в состоянии исправить и другие ...

    (function(factory) {
  if (typeof define === 'function' && define.amd) {
    // AMD. Register as an anonymous module.
    define(['rest/index'], factory);
  } else if (typeof module === 'object' && module.exports) {
    // CommonJS-like environments that support module.exports, like Node.
    module.exports = factory(require('./rest/index')); **<---- ERROR HERE**
  }
}(function(restIndex) {
  return restIndex;
}));

РЕДАКТИРОВАТЬ: Client.js:

var apiKey = process.env.ROCKSET_APIKEY;
var apiServer = process.env.ROCKSET_APISERVER;
var rockset = require('rockset')(apiKey, apiServer);

var getResponseLogger = function(callback) {
    return function(error, response, body) {
        if(error) {
            console.log(error.response.error.text);
            callback();
        } else {
            console.log(response);
            callback();
        }
    }
}

export function getMaxSkill() {
    rockset.queries.query({
        'sql': {
            'query': 'select * from "testCollection"'
        }
    }, null, getResponseLogger(done))
}

function done() {
    console.log('\n\n===done===');
}

App.tsx:

import {getMaxSkill} from './client';

async componentDidMount() {
   getMaxSkill();
}

tsconfig

  {
      "compilerOptions": {
        "target": "es5",
        "lib": [
          "dom",
          "dom.iterable",
          "esnext"
        ],
        "allowJs": true,
        "skipLibCheck": true,
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "strict": true,
        "forceConsistentCasingInFileNames": true,
        "module": "esnext",
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "isolatedModules": true,
        "noEmit": true,
        "jsx": "preserve",
        "typeRoots": [
          "../../@types",
          "../../node_modules/@types"
      ]
      },
      "include": [
        "src", "tests/App.test.js"
      ],
      "paths": {
        "@material-ui/core": ["./material-ui/src"],
        "@material-ui/core/*": ["./material-ui/src/*"],
        "@material-ui/lab": ["./material-ui-lab/src"],
        "@material-ui/lab/*": ["./material-ui-lab/src/*"],
        "@material-ui/styles": ["./material-ui-styles/src"],
        "@material-ui/styles/*": ["./material-ui-styles/src/*"],
        "@material-ui/system": ["./material-ui-system/src"],
        "@material-ui/types": ["./material-ui-types"]

      }
    }
...