Ank*_*nka 6 javascript css typescript
我如何在"tsx"中包含"css"文件以及如何使用它?即如何渲染静态文件?
import * as React from "react";
import { Header } from "./header";
//import "./home.css";
export class Home extends React.Component<{}, {}> {
render() {
return (
<div id="page-top" className="landing-page">
<Header />
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
看到这个答案:
如果您的组件中的某个类只需要 css,您可以像下面那样进行。当内联 css 不起作用并且只需要很小的更改时,我喜欢这个解决方案。
import * as React from "react";
import { Header } from "./header";
export class Home extends React.Component<{}, {}> {
render() {
const css = `
.landing-page {
background-color: orange;
}
`
return (
<div>
<style>
{css}
</style>
<div id="page-top" className="landing-page">
<Header />
</div>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
我今天也偶然发现了这个问题,发现TS现在可以直接导入css,webpack并且awesome-typescript-loader完全像这样:
import "./home.css";
Run Code Online (Sandbox Code Playgroud)
但是,如果您喜欢我要使用CSS模块,则必须添加更多步骤:
npm install --save-dev typings-for-css-modules-loadercss-loader为typings-for-css-modules-loader```
module: {
rules: [
{ test: /\.tsx?$/, include: /ClientApp/, use: 'awesome-typescript-loader?silent=true' },
{ test: /\.css$/, use: isDevBuild ? ['style-loader', "typings-for-css-modules-loader?namedExport&modules"] : ExtractTextPlugin.extract({ use: 'typings-for-css-modules-loader?minimize&namedExport&modules' }) },
{ test: /\.(png|jpg|jpeg|gif|svg)$/, use: 'url-loader?limit=1000' }
]
}
Run Code Online (Sandbox Code Playgroud)
这将为css文件生成类型,您将可以像这样使用它们
import * as style from './home.css';
Run Code Online (Sandbox Code Playgroud)
这是我用于配置的文章:https : //medium.com/@sapegin/css-modules-with-typescript-and-webpack-6b221ebe5f10
| 归档时间: |
|
| 查看次数: |
9866 次 |
| 最近记录: |