我的Typescript下一个项目中有这个组件
import PageTitle from './pagetitle'
import style from './contact.styl'
export default function Contact() {
return (
<section>
<a name="contact"></a>
<div className={style.container}>
<PageTitle title='get in touch!'/>
<form action="">
<input name="name" type="text" placeholder="name" />
<input name="subject" type="text" placeholder="subject" />
<textarea placeholder="message" />
<button type="submit">send</button>
</form>
</div>
</section>
);
}
contact.styl
看起来像是使用Stylus CSS PreProcessor的CSS文件,因此样式的拼写没有错字。我最近在“ next-env.d.ts”文件中使用模块声明修复了一个错误
.container
width 95vw
height 90vh
display flex
flex-direction column
background rgba(43,43,43,.97)
border-radius 60px
margin 0 auto
h3
font-size 22px
color #d3ecf7
form
height 450px
display flex
flex-direction column
justify-content space-evenly
align-items center
margin-top 3rem
input, textarea
width 355px
box-shadow 0px 3px 6px #00000029
border-radius 13px
outline none
border none
background #2b2b2b
font normal normal 300 20px Avenir
padding-top 5px
text-align center
color #fff
input
height 45px
textarea
height 200px
resize none
::placeholder
text-align center
font normal normal 300 20px Avenir
color #d3ecf7
@media(max-width 760px)
.container
width 100vw
height auto
border-radius 0
form
height 500px
margin-top 0
input, textarea
width 90vw
但是我一直收到此错误?
Type error: Property 'container' does not exist on type 'string'.
有人可以帮我找出原因吗?
编辑:添加了contact.styl
Try to add an asterisk to the module name as in the updated example. **- Sergey**
答案 0 :(得分:0)
似乎您在声明.d.ts
文件中的某个地方有一个模块声明。可能看起来像这样:
declare module ".styl" {
const value: string;
export default value;
}
如果正确,则应将导出类型更改为Record<string, string>
。像这样:
declare module "*.styl" {
const value: {[key: string]: string};
export default value;
}