我有一个大型项目,并希望一次迁移到一个组件。
我试过 --with-typescript 但这需要我一次重命名所有文件。 我想慢慢转换,确保未转换的文件保留其初始扩展名,而新文件采用打字稿文件扩展名。
我如何在 razzle 中解决这个问题?
嘿,我也面临着让with-typescript
示例与jsx
文件一起工作以允许逐步迁移现有项目的困难。
有没有人知道如何存档这个目标?
弄清楚了!
npm i -D @babel/preset-typescript ts-loader typescript
将@babel/typescript
到 .babelrc
"presets": [
"razzle/babel",
"@babel/typescript"
]
将此添加到 razle.config.js
config.resolve.extensions = config.resolve.extensions.concat(['.ts', '.tsx']);
config.module.rules.push({ test: /\.tsx?$/, loader: 'ts-loader' });
创建一个 tsconfig.json
{
"compilerOptions": {
"experimentalDecorators": true,
// Target latest version of ECMAScript.
"target": "esnext",
// Search under node_modules for non-relative imports.
"moduleResolution": "node",
// Process & infer types from .js files.
"allowJs": false,
// Enable strictest settings like strictNullChecks & noImplicitAny.
"strict": false,
// Disallow features that require cross-file information for emit.
"isolatedModules": true,
// Import non-ES modules as default imports.
"esModuleInterop": true,
"jsx": "react"
},
"include": [
"src"
],
"exclude": [
"node_modules",
]
}
就是这样,现在您可以将扩展名重命名为 .ts 和 .tsx 以启用这些文件的打字稿。
如果你从未来来到这里,检出大球艺支持打字稿插件这里。
最有用的评论
弄清楚了!
npm i -D @babel/preset-typescript ts-loader typescript
将
@babel/typescript
到 .babelrc将此添加到 razle.config.js
创建一个 tsconfig.json
就是这样,现在您可以将扩展名重命名为 .ts 和 .tsx 以启用这些文件的打字稿。