1. ホーム
  2. javascript

[解決済み] TypeScriptファイルにjs-moduleをインポートするには?

2022-09-06 04:38:42

質問

このようなファイルを含むProtractorのプロジェクトがあります。

var FriendCard = function (card) {
    var webElement = card;
    var menuButton;
    var serialNumber;

    this.getAsWebElement = function () {
        return webElement;
    };

    this.clickMenuButton = function () {
        menuButton.click();
    };

    this.setSerialNumber = function (numberOfElements) {
        serialNumber = numberOfElements + 1;
        menuButton = element(by.xpath('.//*[@id=\'mCSB_2_container\']/li[' + serialNumber + ']/ng-include/div/div[2]/i'));
    };

    this.deleteFriend = function () {
        element(by.css('[ng-click="deleteFriend(person);"]')).click();
        element(by.css('[ng-click="confirm()"]')).click();
    }
};
module.exports = FriendCard;

ファイルへのパスは ./pages/FriendCard.js .

を使った別のファイルへのインポートには何の問題もありません。 require() :

var FriendCard = require('./../pages/FriendCard');

ということで、このファイルをそのままTypeScriptファイルにインポートすることにしました。

import {FriendCard} from './../pages/FriendCard'

WebStormを使っています。と表示されるのですが( TS2305 ) エクスポートされたメンバー 'FriendCard' がありません。

多分、私は何らかの方法でtsconfig.jsonファイルを設定する必要がありますが、私はまだそれがどのように動作するのかわかりません。助けていただけませんか。

どのように解決するのですか?

以下のようにして、モジュール全体をインポートすることができます。

import * as FriendCard from './../pages/FriendCard';

詳しくは モジュール セクションを参照してください。

最近更新された解決策: を調整する必要があります。 tsconfig.json を調整して、JS モジュールのインポートを許可する必要があります。 は、@paulmest、@ben-winding、@crispen-gari の解決策に謝意を表します。

{
  "compilerOptions": {
    "allowJs": true
  }
}