Je ne peux pas utiliser les importations car j'ai toujours cette erreur:
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"lib": [
"dom",
"es2015"
],
"outDir": "dist",
"strict": false
}
}
Dans mon fichier index.test.ts j'ai ceci:
"scripts": {
"test": "mocha --reporter spec --compilers test/**/*.test.js",
Dans mon package.json j'ai ceci:
import { expect } from 'chai';
describe('Hello function', () => {
it('should return hello world', () => {
const result = hello();
expect(result).to.equal('Hello World!');
});
});
},
Mon tsconfig.json:
(function (exports, require, module, __filename, __dirname) { import { expect } from 'chai';
SyntaxError: Unexpected token import
Veuillez me dire comment puis-je utiliser les importations?
3 Réponses :
module moka + dactylographie + es6
--require ts-node/register --require @babel/register ...
{
"compilerOptions": {
...
"module": "commonjs"
}
}
Veuillez fournir plus qu'un simple code comme réponse. Au lieu de cela, une explication du code et une description des raisons pour lesquelles il répond à la question sont les plus utiles.
Pourquoi tout le monde s'attend à ce que les gens utilisent Babel? J'utilise tsc, ça ne marche pas?
// ./dev/ts-node-mocha/register-commonjs.js
require('ts-node').register({
compilerOptions: {
"module": "commonjs"
}
});
npx mocha --require ./dev/ts-node-mocha/register-commonjs --extensions ts './src/**/*.spec.ts'
Cela fonctionne pour moi.
"devDependencies": {
"esm": "^3.2.25"
}
Ou dans les scripts package.json (les deux options fonctionnent, choisissez celle que vous préférez):
npm install --save-dev esm
Et n'oubliez pas d'ajouter esm à devDependencies:
"scripts": {
"test": "mocha -r esm -r ts-node/register src/**/*.spec.ts",
"test-ts": "ts-mocha -r esm -p tsconfig.json src/**/*.spec.ts"
}
donc dans package.json ça va être
npx mocha --require ts-node/register --require esm src/**/*.spec.ts
PS Merci @ user318830, vous m'avez fait comprendre qu'il était possible de spécifier plusieurs '--require'.
Avez-vous un fichier
.babelrc? Si oui, qu'est-ce qu'il a à l'intérieur?Je n'ai pas ce fichier, je n'utilise pas babel.
quelle version de
mochautilisez-vous?Mocha 5.2.0, @ types / moka 5.2.5
quelle version de Typescript vous utilisez il y a un problème avec la 2.0.0
Écriture dactylographiée 3.2: 2,