Reactjs 摩卡咖啡&x2B;网页包+;Typescript(React):找不到模块(Typescript组件)时出错
我正在迁移react应用程序以使用typescript。我添加了一个typescript组件,并导入了另一个react组件。该应用程序编译和运行平稳。但是,当我运行测试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
纱线测试时,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