当前位置: 首页 > 知识库问答 >
问题:

在react JS Typescript中加载CSS模块并重新布线react

曹光霁
2023-03-14

我正在使用ReactJS和typescript创建一个概念验证项目的初始设置,我希望在其中包含CSS模块,而不必弹出网页包配置。

以下是我迄今为止遵循的步骤:

>

  • npm安装-g创建-反应-app
  • 创建-反应-应用程序firstapp-脚本-版本=反应-脚本-ts
  • npm安装react-app-重新连线-保存-dev
  • npm安装-保存-开发代码块/react-app-rewire-css-模块sass加载节点sass
  • package.json:"start":"react-app-rewire start--crips-version react-crips-ts"
  • config-overrides.js:

    const-rewireCssModules=require('react-app-rewire-css-modules');单元exports=函数重写(config,env){config=rewireCssModules(config,env);
    返回配置;}

    我正确设置了我的应用程序。单元scss文件,并在我的应用程序中引用了它。tsx文件

    从'导入样式。/App.module.scss';

    当我运行这个项目时,我有一个关于css模块的错误:找不到模块'/应用程序。单元scss’。

    当我在没有typescript配置的情况下执行完全相同的项目时,它仍然可以工作。

    要考虑CSS模块,我应该做哪些更改?

    我是为css模块加载器进行打字的,但我不确定如何将其集成到我的配置中,因为我没有弹出网页包配置。

    提前感谢,,

    托马斯。T

    编辑1:我添加了一个global.d.ts文件:

    >

    声明模块“*”。scss'

    它成功了。最后,我没有为css模块加载程序使用打字。

    答案来自本文:https://hackernoon.com/zero-config-react-typescript-css-modules-jest-with-poi-bbcedfe2383a

  • 共有2个答案

    松茂实
    2023-03-14

    在谷歌搜索了很多次之后,我找到了解决办法。我不熟悉react js,并尝试使用typescript进行构建,因此我找到了解决方案并开始使用

    脚本

    包裹但当我开始使用css模块时,遇到了“从导入类”的问题/按钮css“不起作用,所以我使用导入”/按钮但是在这种情况下有很多css冲突,较高的组件范围css总是被较低的组件覆盖。所以谷歌搜索了很多,终于找到了解决方案。

    来自2.1 create react应用程序的解决方案支持typescript,因此将您的应用程序转换为上面的2.1

    1.create new application using `npx create-react-app my-new-app --typescript`
    2. replace your old src folder in new solution
    3. Rename all your css file with `*.module.css` and change the import based on that.
    4. Add your package dependancy if anything missing
    5. Run
    

    来源:https://joshblog.net/2018/upgrading-a-react-and-typescript-app-from-react-scripts-ts-to-create-react-app-v2-1/

    欧阳向文
    2023-03-14

    我添加了一个global.d.ts文件:

    • 声明模块“*”。css'
    • 声明模块“*”。scss'

    它成功了。最后,我没有为css模块加载程序使用打字。

    答案来自本文:https://hackernoon.com/zero-config-react-typescript-css-modules-jest-with-poi-bbcedfe2383a

    我会在2天内接受这个答案。

     类似资料:
    • 问题内容: 目前,我正在处理一个包含子模块并使用numpy / scipy的python项目。Ipython用作交互式控制台。不幸的是,我对现在使用的工作流程不是很满意,请多多指教。 在IPython中,该框架是通过一个简单的命令加载的。但是,通常有必要在框架的子模块之一中更改代码。至此,一个模型已经加载完毕,我使用IPython与之交互。 现在,该框架包含许多相互依赖的模块,即,在最初加载框架时

    • 问题 你想重新加载已经加载的模块,因为你对其源码进行了修改。 解决方案 使用imp.reload()来重新加载先前加载的模块。举个例子: >>> import spam >>> import imp >>> imp.reload(spam) <module 'spam' from './spam.py'> >>> 讨论 重新加载模块在开发和调试过程中常常很有用。但在生产环境中的代码使用会不安全,因

    • 问题内容: 当用户访问未经授权的个人页面(例如个人资料)时,我的后端302重定向到控制器操作,该操作代替部分个人资料来提供登录部分。由于它302重定向到返回部分操作的动作,因此URL地址栏与用户尝试访问的页面(“ / profile”)没有变化。 我本来打算“修复”该问题,但实际上我认为它可以提供良好的用户体验,而不是将返回网址作为查询参数来处理。 想法是一旦他们登录,我只想重新加载当前路由,也可

    • 问题内容: 有没有办法让IPython自动重新加载所有更改的代码?在外壳中执行每行之前,或者在明确要求时失败。我正在使用IPython和SciPy进行很多探索性编程,每当更改模块时都必须手动重新加载每个模块,这是很痛苦的。 问题答案: 对于IPython版本3.1、4.x和5.x 然后,您的模块将默认 自动重新加载 。这是文档: 有一个窍门:当您使用时 忘记 以上 所有 内容时,请尝试:

    • 问题内容: 我有一台运行时间较长的Python服务器,并且希望能够在不重新启动服务器的情况下升级服务。最好的方法是什么? 问题答案: 你可以使用reload内置函数重新加载已导入的模块: 在Python 3中,已移至imp模块。在3.4中,不推荐使用importlib,而在中添加了。当定位到3或更高版本时,在调用reload或导入时参考相应的模块。 我认为这就是你想要的。诸如Django开发服务器

    • 问题内容: 我有一个运行时间较长的Python服务器,并且希望能够在不重新启动服务器的情况下升级服务。最好的方法是什么? 问题答案: 您可以使用reload内置函数(仅适用于Python 3.4+)重新导入已导入的模块: 在Python 3中,已移至模块。在3.4中,imp不推荐使用,而reload在中添加了。当定位到3或更高版本时,在调用reload或导入时参考相应的模块。 我认为这就是您想要的