Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 网页包别名正常工作,但Typescript给了我错误 问题_Javascript_Reactjs_Typescript_Webpack_Tsx - Fatal编程技术网

Javascript 网页包别名正常工作,但Typescript给了我错误 问题

Javascript 网页包别名正常工作,但Typescript给了我错误 问题,javascript,reactjs,typescript,webpack,tsx,Javascript,Reactjs,Typescript,Webpack,Tsx,我有一个项目,它对React组件使用类型检查(React-Typescript) 到目前为止,除了Typescript中的别名之外,我已经配置了所有内容及其工作方式 在webpack中,module.alias对象允许您查找特定文件夹以获得webpack模块解析 const path=require('path'); const HTMLWebpackPlugin=require(“html网页包插件”); module.exports={ 模式:“发展”, 条目:“./src/ts/app.t

我有一个项目,它对React组件使用类型检查(React-Typescript)

到目前为止,除了Typescript中的别名之外,我已经配置了所有内容及其工作方式

在webpack中,
module.alias
对象允许您查找特定文件夹以获得webpack模块解析

const path=require('path');
const HTMLWebpackPlugin=require(“html网页包插件”);
module.exports={
模式:“发展”,
条目:“./src/ts/app.tsx”,
插件:[
新HTMLWebpackPlugin({
标题:“Pedro Uzcátegui”,
模板:“./dist/index.html”
}),
],
输出:{
path:path.resolve(_dirname,“dist”),
文件名:“bundle.js”,
公共路径:“/”
},
模块:{
规则:[
{
测试:/\(js|jsx)$/,
排除:/(节点模块|鲍尔组件)/,
使用:{
加载器:“巴别塔加载器”,
选项:{
预设:['@babel/preset env','@babel/preset react']//ES5+->Old.Js告诉巴贝尔我们正在使用react
}
}
},
{
测试:/\(s[ac]ss|css)$/i,
用法:['style-loader','css-loader','sass-loader']
},
{
测试:/\.tsx$/,,
排除:/node_模块/,
加载器:“ts加载器”
},
{
测试:/\(png | svg | jpg | jpeg | gif)$/i,
类型:“资产/资源”,
},
{
测试:/\(woff | woff2 | eot | ttf | otf)$/i,
类型:“资产/资源”,
},
]
},
决心:{
扩展:['.ts','.js','.tsx','.jsx','.json'],//Importante,busca archivos por estos nombres al resolver modulos。
模块:['node_modules',path.resolve(_dirname,'src/ts/'),
别名:{
组件:“组件/”,
Utils:'Components/Utils/',
类型:path.resolve(uu dirname,'custom.d.ts'),
样式:path.resolve(uu dirname,“src/sass”),
Assets:path.resolve(uu dirname,'src/Assets/'))
},
},
devtool:“内联源映射”,
开发服务器:{
contentBase:path.join(\uuu dirname,'dist'),//从此目录服务文件
是的,
港口:3000
},
}
所以,问题是它工作得很好,看起来组件和构建都没有任何错误

但在VSC中

找不到模块“组件/菜单/菜单”或其相应的类型声明。

这是我的tsconfig.json文件

{
“编译器选项”:{
“目标”:“es6”,
“模块”:“commonjs”,
“jsx”:“反应”,
“源地图”:正确,
“outDir”:“server/js/”,
“严格”:是的,
“noImplicitAny”:没错,
“moduleResolution”:“节点”,
“baseUrl”:“src/”,
“路径”:{
“组件”:[“ts/组件”],
“Utils”:[“ts/Components/Utils/”],
“类型”:[“ts/custom.d.ts”],
“样式”:[“sass/”],
“资产”:[“资产/”]
},                                     
“allowSyntheticDefaultImports”:true,
“esModuleInterop”:正确,
“包括”:[
“服务器/ts/*”,
“src/ts/***”,
“src/ts/custom.d.ts”
],
“排除”:[
“节点_模块”,
]
}
和我的文件夹结构

注意:项目没有崩溃,进展顺利,但Typescript似乎找不到模块


可能这与Typescript模块解析或我没有考虑的问题有关?

您需要添加一个通配符来映射目录内容:
“Components/*”:[“ts/Components/*”]
@AluanHaddad我把它放在tsconfig.json上,但它没有消除错误,为什么要把
/*
放进去?现在,谢谢!@AluanHaddad,因为您正在导入位于
组件下的模块说明符