web-dev-qa-db-ja.com

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

いくつかの依存関係をインポートする必要があり、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

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

^^^^^^

SyntaxError:Object.ModuleのModule._compile(internal/modules/cjs/loader.js:1091:27)のwrapSafe(internal/modules/cjs/loader.js:1043:16)のモジュールの外ではimportステートメントを使用できません。 Function.Module._load(internal/modules/cjs)のModule.load(internal/modules/cjs/loader.js:976:32)で_extensions..js(internal/modules/cjs/loader.js:1160:10) /loader.js:884:14)at Module.require(internal/modules/cjs/loader.js:1016:19)at require(internal/modules/cjs/helpers.js:69:18)at/workspace/rr -sample/node_modules/mocha/lib/mocha.js:334:36 at Array.forEach()at Mocha.loadFiles(/workspace/rr-sample/node_modules/mocha/lib/mocha.js:331:14)at Mocha .run(/workspace/rr-sample/node_modules/mocha/lib/mocha.js:809:10)at Object.exports.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)at Object.exports.handler(/ workspace/rr-sample/node_modules/mocha/lib/cli/run.js:292:3)at Ob ject.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)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)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:10)at Module.load(internal/modules/cjs/loader.js:976:32)at Function.Module._load(internal/modules/cjs/loader.js:884 :14)Function.executeUserEntryPoint [as runMain](internal/modules/run_main.js:67:12)at internal/main/run_main_module.js:17:47

問題は正確には何ですか?私はこのリンク(およびその他)を見つけました 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;
  });

});
7
driftwood

doc によると:

https://nodejs.org/api/esm.html#esm_code_import_code_statements

したがって、スクリプトをesモジュールとして実行する必要があります。

例えばNodejsの代わりに babel-node を使用してスクリプトを実行し、es6以降を有効にします。

0
Pengson