Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 摩卡咖啡&x2B;网页包+;Typescript(React):找不到模块(Typescript组件)时出错_Reactjs_Typescript_Webpack_Mocha.js_Babeljs - Fatal编程技术网

Reactjs 摩卡咖啡&x2B;网页包+;Typescript(React):找不到模块(Typescript组件)时出错

Reactjs 摩卡咖啡&x2B;网页包+;Typescript(React):找不到模块(Typescript组件)时出错,reactjs,typescript,webpack,mocha.js,babeljs,Reactjs,Typescript,Webpack,Mocha.js,Babeljs,我正在迁移react应用程序以使用typescript。我添加了一个typescript组件,并导入了另一个react组件。该应用程序编译和运行平稳。但是,当我运行测试纱线测试时,Mocha无法找到我的typescript组件: Error: Cannot find module './manage_new/TypescriptFile' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load

我正在迁移react应用程序以使用typescript。我添加了一个typescript组件,并导入了另一个react组件。该应用程序编译和运行平稳。但是,当我运行测试
纱线测试
时,Mocha无法找到我的typescript组件:

Error: Cannot find module './manage_new/TypescriptFile'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/dan/Documents/my-ui/src/ui/main/Modal.jsx:7:1)
at Module._compile (module.js:652:30)
at loader (/home/dan/Documents/my-ui/node_modules/babel-register/lib/node.js:144:5)
at Object.require.extensions.(anonymous function) [as .jsx] (/home/dan/Documents/my-ui/node_modules/babel-register/lib/node.js:154:7)
at Module.load (module.js:565:32)...
tsconfig.json包含以下条目:

{
"compilerOptions": {
"outDir": "./dist/",
"baseUrl": "src/",
"noImplicitAny": true,
"module": "es6",
"target": "es6",
"jsx": "react",
"allowJs": true,
"allowSyntheticDefaultImports": true,
"moduleResolution": "node",
"strictNullChecks": true
  },
"include": [
"./src/**/*"
]
我运行的命令是:

yarn run cross-env NODE_PATH=./src BABEL_ENV=test node --inspect node_modules/mocha/bin/_mocha --compilers jsx:babel-register --require source-map-support/register -r mock-local-storage -r ./ui-test.helper.js "src/**/*.test@(.js|.jsx)" --reporter progress

如果有人能帮我解决这个问题,这样我就可以让Mocha正确地定位我的Typescript组件,那就太好了。谢谢。

我看到了一个类似的问题,我通过添加
——require ts node/register
解决了它。所以下面的代码可能适合您,尽管我还没有在react上进行测试

npx摩卡-需要ts节点/寄存器-需要esm src/***.spec.ts
或者在
package.json
脚本中(两个选项都有效,选择您喜欢的选项):

“脚本”:{
“测试”:“摩卡-r esm-r ts节点/寄存器src/***.spec.ts”,
“测试测试”:“测试摩卡-r esm-p tsconfig.json src/***.spec.ts”
}
不要忘记将
esm
添加到
devdependency

npm install --save-dev esm
所以在package.json中

“开发依赖性”:{
“esm”:“^3.2.25”
}
npm install --save-dev esm