因此,我们决定开始将我们的 React 应用程序转换为 Typescript。计划是逐步进行。从我在线阅读的内容来看,这应该不是问题,但是,在尝试转换我的“叶级”类时遇到了问题。所以,这是我的问题。我的课程是这样的:
模型类A.ts
export default class ModelClassA{ }
模型类AFactory.js
import {ProdTour} from './ProdTour';
配置文件
{
"compilerOptions": {
"target": "es6",
"module": "es6",
"allowSyntheticDefaultImports": true,
"sourceMap": true,
"jsx": "preserve",
"allowJs": false,
"moduleResolution": "node",
"lib": [
"dom",
"es7"
]},
"exclude": [
"node_modules",
"wwwroot"
]
}
webpack.js
module.exports = {
entry: {
'app': ["./scripts/EntryPoint.jsx", './Content/main.scss']
},
resolve: {
extensions: [".js", ".jsx", ".tsx", "ts"]
},
output: {
path: __dirname + "/Scripts",
filename: "[name].js"
},
externals: {
"react": "React",
"react-dom": "ReactDOM"
},
module: {
rules: [
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [{ loader: 'css-loader', options: {sourceMap: true, minimize: process.env.NODE_ENV === 'production' } }, 'sass-loader']
})
},
{
test: /\.jsx?$/,
use: [{
loader: "babel-loader"
}],
exclude: /node_modules/
},
{
test: /\.tsx?$/,
use: [
{
loader: "babel-loader"
},
{
loader: "ts-loader",
}
]
}
]
},
plugins: [
new ExtractTextPlugin({
filename: '../Content/main.css',
allChunks: true
})
]
};
运行 webpack 时出现此错误:
找不到 ./scripts/Models/ModelClassAFactory.js 模块中的错误:错误:无法解析 'C:\Source\scripts\Models\' @ ./scripts/Models/ModelClassAFactory.js 中的 './ModelClassA' 8: 16-37 @ ./scripts/Components/SomeComponent/SomeReducer.js @ ./scripts/EntryPoint.jsx @ multi ./scripts/EntryPoint.jsx ./Content/main.scss
错误是有道理的。ModelClassAFactory 文件上的导入正在寻找必须从 .ts 文件编译的 ModelClassA.js。任何帮助,将不胜感激!
编辑:根据@TylerSebastian 的代码审查,有人指出我缺少“。” 在扩展列表中的“ts”上[".js", ".jsx", ".tsx", "ts"]
。
您.
的扩展 webpack 配置扩展中缺少一个:[".js", ".jsx", ".tsx", "ts"]
. ts
应该.ts
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句