[英]NX Can't import local Typescript library
我正在尝试遵循“NX 和 Typescript”文档。 我已经运行了以下(使用节点 16.16.6 和 NX 14.5.8):
npx create-nx-workspace happynrwl --preset=ts
cd happynrwl
npm install @nrwl/web
nx generate @nrwl/js:library --name=hello-tsc --buildable
nx generate @nrwl/web:app demoapp
从这里,我可以使用nx serve demoapp
为 web 应用程序提供服务,并且工作正常。 但是,当我尝试从本地hello-tsc
库导入时,出现此错误:
ERROR in ../hello-tsc/src/lib/hello-tsc.ts
Module build failed (from ../../node_modules/@nrwl/web/src/utils/web-babel-loader.js):
SyntaxError: /Users/james/projects/happynrwl/packages/hello-tsc/src/lib/hello-tsc.ts: Unexpected token, expected "{" (1:26)
> 1 | export function helloTsc(): string {
| ^
2 | return 'hello-tsc';
3 | }
4 |
at instantiate (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:72:32)
at constructor (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:366:12)
at Parser.raise (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:3453:19)
at Parser.unexpected (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:3491:16)
at Parser.expect (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:4128:28)
at Parser.parseBlock (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:15389:10)
at Parser.parseFunctionBody (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:14085:24)
at Parser.parseFunctionBodyAndFinish (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:14069:10)
at /Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:15570:12
at Parser.withSmartMixTopicForbiddingContext (/Users/james/projects/happynrwl/node_modules/@babel/parser/lib/index.js:14457:14)
webpack compiled with 1 error (b022fd9df31b7e7f)
此错误似乎意味着 web 应用程序正在尝试导入 TS,但预计它是 JS。 为什么会这样? 我该如何解决?
所有详细信息都可以在此处的仓库中找到: https://github.com/jmeyers91/nx-hello-world
通过添加"presets": ["@nrwl/web/babel"]
到根babel.config.json
文件来修复。
见:https://github.com/nrwl/nx/issues/10819#issuecomment-1178404861
{
"presets": ["@nrwl/web/babel"],
"babelrcRoots": ["*"]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.