web-dev-qa-db-fra.com

Essayer l'importation de style ES6 donne «Impossible d'utiliser l'instruction d'importation en dehors d'un module»

J'essaie d'écrire un test javascript dans intellij pour lequel j'ai besoin d'importer certaines dépendances et je veux utiliser des instructions d'importation de style ES6 mais j'obtiens une erreur

/ 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

importer chai de 'chai'

^^^^^^

SyntaxError: impossible d'utiliser l'instruction d'importation en dehors d'un module sur wrapSafe (internal/modules/cjs/loader.js: 1043: 16) sur Module._compile (internal/modules/cjs/loader.js: 1091: 27) sur Object.Module. _extensions..js (internal/modules/cjs/loader.js: 1160: 10) à Module.load (internal/modules/cjs/loader.js: 976: 32) à Function.Module._load (internal/modules/cjs /loader.js:884:14) sur 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 à Array.forEach () à Mocha.loadFiles (/workspace/rr-sample/node_modules/mocha/lib/mocha.js:331:14) à Mocha .run (/workspace/rr-sample/node_modules/mocha/lib/mocha.js:809:10) sur Object.exports.singleRun (/ workspace/rr-sample/node_modules/mocha/lib/cli/run-helpers. js: 108: 16) sur exports.runMocha (/workspace/rr-sample/node_modules/mocha/lib/cli/run-helpers.js:142:13) sur Object.exports.handler (/ workspace/rr-sample/node_modules/mocha/lib/cli/run.js: 292: 3) à Ob ject.runCommand (/workspace/rr-sample/node_modules/yargs/lib/command.js:242:26) sur Object.parseArgs [as _parseArgs] (/workspace/rr-sample/node_modules/yargs/yargs.js:1087 : 28) sur Object.parse (/workspace/rr-sample/node_modules/yargs/yargs.js:566:25) sur Object.exports.main (/ workspace/rr-sample/node_modules/mocha/lib/cli/cli .js: 68: 6) dans Object. (/ workspace/rr-sample/node_modules/mocha/bin/_mocha: 10: 23) à Module._compile (interne/modules/cjs/loader.js: 1121: 30) à Object.Module._extensions..js (interne /modules/cjs/loader.js:1160:10) à Module.load (interne/modules/cjs/loader.js: 976: 32) à Function.Module._load (interne/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

Quel est exactement le problème? J'ai trouvé ce lien (et d'autres) http://xahlee.info/js/js_import_export.html qui vous indique comment corriger cette erreur mais dans un autre contexte qui ne m'aide pas, et cela ne fonctionne pas 'expliquez pas quel est le problème.

Au cas où il serait utile, voici le code que j'utilise.

//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

Selon le doc :

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

Vous devez donc vous assurer d'exécuter le script en tant que module es.

par exemple. Exécutez le script en utilisant babel-node au lieu de Nodejs pour activer es6 ou plus récent.

0
Pengson