【发布时间】:2020-10-23 14:08:16
【问题描述】:
我有一个 TypeScript(TS) React 项目,我用它来保存我的所有 React 组件。 我正在从这个项目中创建一个 NPM 包,然后在单独的 React 项目中使用它。我遇到了一个问题,我不知道如何将样式与 TS 组件一起导出。
使用 NPM 包中的组件会导致错误:
Module not found: Can't resolve '../css/footer.css'
当我为打包(dist)创建目录时,我的所有组件都在那里,但没有 CSS。我正在运行tsc 来创建这个目录。我所有的组件和 CSS 都在同一个 src 文件夹中。
这是我的 tsconfig.json 文件:
{
"compilerOptions": {
"outDir": "dist",
"target": "esnext",
"lib": [
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true,
"skipLibCheck": true,
"esModuleInterop": true,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "esnext",
"moduleResolution": "node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": false,
"jsx": "react"
},
"include": [
"src"
]
}
我是否需要将我的样式从 css 文件中移到使用 <style jsx> 标记的 ts 文件中,或者是否有另一种“更好”的方式来实现所需的结果。
期望的结果是一个包含所有样式和组件的 NPM 包。
【问题讨论】:
标签: css reactjs typescript npm