ddi*_*ase 7 typescript reactjs webpack
我正在尝试分离我的项目并将逻辑保留为我最终将发布的单独组件。现在,在我这样做之前,我想将其组织如下:
project-a
project-b
React 应用程序的 .tsx 组件将从 的project-a
.ts 文件中提取。
我已经在project-b 中继续并运行了yarn add ../project-a
。这会将库作为依赖项安装。然后,我导入 .ts 文件,我的代码编辑器能够很好地查看所有类型和定义。伟大的!
当我运行应用程序时,Webpack 抱怨:
./node_modules/project-a/src/calc.ts 2:7
Module parse failed: Unexpected token (2:7)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
|
> export enum Position {
| Inner = 0,
| Outer = 1
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它不将文件解析为 .ts。整个 React 应用程序是使用 TypeScript 设置的,我什至在本地导入了一些 .ts 文件。我是否需要告诉 Webpack 处理从此模块作为 Typescript 源导入的文件(假设 Webpack 如果不需要的话不会尝试解析它们)?
React 模板没有设置 webpack(我假设它使用隐藏的默认值),但我可以调整 tsconfig.json 文件。我将模块直接路径添加到包含数组中。这似乎也没有多大作用。
基本上:我怎样才能通过上述错误并继续从主应用程序中的依赖模块导入 TypeScript 文件?
您必须编译project-a
为 javascript 并发出类型文件,因为从包导入必须是 Javascript。
从外部包获取的类型信息是通过.d.ts
包旁边的文件传递的。
当您导入其他包时,您始终导入 Javascript 文件。即使在本地,Webpack 也不会为您编译打字稿,而是由捆绑期间的加载程序编译。因此,一旦在浏览器中运行,就都是 Javascript 了。但是您正在尝试在运行时导入 Typescript 文件。
归档时间: |
|
查看次数: |
6111 次 |
最近记录: |