ES6スタイルのインポートを試行すると、「モジュールの外部でインポート文を使用できません」と表示される


8

いくつかの依存関係をインポートする必要があり、ES6スタイルのインポートステートメントを使用したいが、エラーが発生するintellijでjavascriptテストを書き込もうとしています

/ usr / local / bin / node / workspace / rr-sample / node_modules / mocha / bin / _mocha --ui bdd --reporter "/ Users / me / Library / Application Support / IntelliJIdea2019.1 / NodeJS / js / mocha- intellij / lib / mochaIntellijReporter.js "tests / *。test.js /workspace/rr-sample/tests/App.test.js:3

「チャイ」からチャイをインポート

^^^^^^

singleRun(/workspace/rr-sample/node_modules/mocha/lib/cli/run-helpers.js:108:16)at exports.runMocha(/ workspace / rr-sample / node_modules / mocha / lib / cli / run-helpers .js:142:13)Object.exports.handler(/workspace/rr-sample/node_modules/mocha/lib/cli/run.js:292:3)at Object.runCommand(/ workspace / rr-sample / node_modules /yargs/lib/command.js:242:26)at Object.parseArgs [as _parseArgs](/workspace/rr-sample/node_modules/yargs/yargs.js:1087:28)at Object.parse(/ workspace / rr -sample / node_modules / yargs / yargs.js:566:25)at Object.exports.main(/workspace/rr-sample/node_modules/mocha/lib/cli/cli.js:68:6)at Object。(/ workspace / rr-sample / node_modules / mocha / bin / _mocha:10:23)at Module._compile(internal / modules / cjs / loader.js:1121:30)at Object.Module._extensions..js(internal /modules/cjs/loader.js:1160:

問題は正確には何ですか?私はこのリンク(およびその他)を見つけましたhttp://xahlee.info/js/js_import_export.htmlこれはこのエラーを修正する方法を説明しますが、私を助けない別のコンテキストで、それは問題が何であるかを説明しません。

それが役立つ場合は、ここに私が使用しているコードがあります。

//const chai = require("chai");
import chai from 'chai'

const React = require("react");
const expect = chai.expect;

describe('how it works first-time test', () => {
  it('checks equality', () => {

    const val = false;
    expect(val).to.be.false;
  });

});

1
「それは問題が何であるかを説明していません」  —それは明示的に「コードがimportまたはを使用する場合export、それはモジュールとしてロードされなければなりません。」あなたが使用しなければならないと言う部分に沿ってtype="module"Intellij Idea Ecmascript Harmonyモジュールの構文を見たことがありますか?
user4642212

回答:


5

ES6で記述されたMochaテストを実行する最も簡単な方法は、Mocha --require @babel/registerオプションを使用してオンザフライでコンパイルすることです(https://github.com/mochajs/mocha/wiki/compilers-deprecation#what-should-i-use-insteadを参照) -その後)。もちろん、対応するモジュールをインストールし、.babelrcそれに応じて設定する必要があります

package.json:

"dependencies": {
  "@babel/cli": "^7.7.4",
  "@babel/core": "^7.7.4",
  "@babel/preset-env": "^7.7.4",
  "@babel/register": "^7.7.4",
...
}

.babelrc:

{
  "presets": [
    [
      "@babel/preset-env"
    ]
  ]
}

ここに画像の説明を入力してください

https://dev.to/bnorbertjs/my-nodejs-setup-mocha--chai-babel7-es6-43eiも参照してください。


私にとって重要なのはエクストラモカオプションでした
guido

@lenaどこにそのウィンドウがありますか???
Miel Yan

これはMocha実行構成です。実行>構成の編集...
lena

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.