Estoy tratando de escribir una prueba de JavaScript en intellij para la cual necesito importar algunas dependencias y quiero usar declaraciones de importación de estilo ES6 pero obtengo un error
/ 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
Importar chai desde 'chai'
^^^^^^
singleRun (/workspace/rr-sample/node_modules/mocha/lib/cli/run-helpers.js:108:16) en exports.runMocha (/ workspace / rr-sample / node_modules / mocha / lib / cli / run-helpers .js: 142: 13) en Object.exports.handler (/workspace/rr-sample/node_modules/mocha/lib/cli/run.js:292:3) en Object.runCommand (/ workspace / rr-sample / node_modules /yargs/lib/command.js:242:26) en Object.parseArgs [como _parseArgs] (/workspace/rr-sample/node_modules/yargs/yargs.js:1087:28) en Object.parse (/ workspace / rr -sample / node_modules / yargs / yargs.js: 566: 25) en Object.exports.main (/workspace/rr-sample/node_modules/mocha/lib/cli/cli.js:68:6) en Object. (/ workspace / rr-sample / node_modules / mocha / bin / _mocha: 10: 23) en Module._compile (internal / modules / cjs / loader.js: 1121: 30) en Object.Module._extensions..js (internal /modules/cjs/loader.js:1160:
¿Cuál es exactamente el problema? Encontré este enlace (y otros) http://xahlee.info/js/js_import_export.html que le dice cómo solucionar este error pero en otro contexto que no me ayuda, y no explica cuál es el problema .
En caso de que sea útil, aquí está el código que estoy usando.
//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;
});
});
fuente
import
oexport
, entonces debe cargarse como módulo”. a lo largo de la parte donde dice que debes usartype="module"
. ¿Has visto la sintaxis de los módulos Intellij Idea Ecmascript Harmony ?Respuestas:
La forma más fácil de ejecutar pruebas Mocha escritas en ES6 es compilándolas sobre la marcha utilizando la
--require @babel/register
opción Mocha (consulte https://github.com/mochajs/mocha/wiki/compilers-deprecation#what-should-i-use-instead -entonces ). Por supuesto, debe asegurarse de instalar los módulos correspondientes y configurar el.babelrc
correspondientepackage.json:
.babelrc:
Ver también https://dev.to/bnorbertjs/my-nodejs-setup-mocha--chai-babel7-es6-43ei
fuente
Según el documento :
Por lo tanto, debe asegurarse de ejecutar el script como un módulo es.
Por ejemplo, ejecute el script usando babel-node en lugar de Nodejs para habilitar el es6 o posterior.
fuente