我正在使用creacte-react-app 2.0.0-next.66cc7a90,它已经支持 Sass/Scss 文件
但是,使用 Sass/Scss 文件中的默认相对导入,我必须使用类似的代码
@import "../../../../../styles/variables/_variables.scss";
相反,我想使用绝对导入,这样我就可以使用代码导入
@import "styles/variables/_variables.scss";
我知道实现这一目标的一种方法是更新选项
{
loader: "sass-loader",
options: {
includePaths: ["absolute/path/a", "absolute/path/b"]
}
Run Code Online (Sandbox Code Playgroud)
但我想在不弹出的情况下做到这一点,我该怎么做?使用react-app-rewired?
我使用 create-react-app 结合 Django Rest Framework 制作了一个小型网站。npm start当我使用 Django API 从一个端口到另一个端口时,一切都运行良好。然而,当我npm build静态反应文件并从 Django 应用程序内提供它们时,我403 forbidden在遇到多个端点时遇到了问题。我认为这与 CSRF 有关,但我不知道是什么。
我从以下位置提供静态文件views.py:
@api_view(['GET'])
def serve_html(request):
try:
with open(os.path.join(REACT_APP_DIR, 'build', 'index.html')) as f:
return HttpResponse(f.read())
except FileNotFoundError:
return HttpResponse(
"""
This URL is only used when you have built the production
version of the app. Visit http://localhost:3000/ instead, or
run `yarn run build` to test the production version.
""",
status=501,
)
Run Code Online (Sandbox Code Playgroud)
我的urls.py底部包含静态文件的总览:
urlpatterns = [ …Run Code Online (Sandbox Code Playgroud) 当我构建一个在 create-react-app 中制作的项目时,他生成一个 html 文件,其路径不带点。这是有问题的,因为我有一个空白页。
我得到一个 html 文件,其中包含加载 js 的示例
<script type="text/javascript" src="/static/js/mainsddss23ds.js"
Run Code Online (Sandbox Code Playgroud)
但我需要带有 DOT 的路径,例如
<script type="text/javascript" src="./static/js/mainsddss23ds.js"
Run Code Online (Sandbox Code Playgroud) 我正在遵循 YouTube 教程来学习 React,但我注意到一些烦人的事情。当我使用 create-react-app 创建新应用程序时,app.js 使用的是function App(),而不是类。我知道 React 可以用两种方式编码,但我想使用类。有什么方法可以配置 create-react-app 来创建带有类的 React 应用程序?比如在 CLI 上添加参数,或者更改设置页面上的选项(我找不到任何选项)。
function App() {}
Run Code Online (Sandbox Code Playgroud)
我想要的是:
class App extends Component {}
Run Code Online (Sandbox Code Playgroud) 我想使用 Typescript 在我的 CRA 项目中使用基于 AntDesign 组件构建的组件来设置 Storybook。
CRA - v3 故事书 - v5.25 AntDesign - v3.23.2
我成功设置了 CRA + AntDesign,设置了 Storybook,我的 AntDesign 组件使用 AntD css 类在 Storybook 中渲染,但缺少样式
我试过
这些方法都不允许我用样式渲染 AntD 组件
// .stories/webpack.config.js
const path = require("path");
module.exports = {
module: {
rules: [
{
loader: "babel-loader",
exclude: /node_modules/,
test: /\.js$/,
options: {
presets: ["@babel/react"], …Run Code Online (Sandbox Code Playgroud) 我目前正在尝试将 React SPA 设置为 Kubernetes 上的部署/服务。就像我当前运行的后端服务一样,我希望能够在 Ingress 后面访问它。
因为 SPA 只是一堆静态文件,所以我通过 nginx 公开这些文件。部署中运行的容器安装了 nginx 来提供静态资产(nginx -g daemon off在 docker 文件中)。如果我使用 a 公开部署,则效果完全正常LoadBalancer,但如果我使用 Ingress,则没有任何响应。在入口后面提供静态资产时,有什么需要考虑的特殊事项吗?或者有任何已知的参考资料/资源可以做到这一点?
这是我的 ingress.yml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: web-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: web-static-ip
nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
rules:
- host: api.my-domain.com
http:
paths:
- backend:
serviceName: web-backend-service
servicePort: 80
- host: app.my-domain.com
http:
paths:
- backend:
serviceName: web-frontend-service
servicePort: 80
Run Code Online (Sandbox Code Playgroud) nginx reactjs kubernetes create-react-app kubernetes-ingress
我有一个内置于 CRA 的简单应用程序v3.2.0。我使用 TypeScript 的默认设置(见tsconfig.ts下文)。我有/src/sounds/一个 mp3 文件“click_hi.mp3”,我想在组件中使用它,但我无法导入带有错误的 mp3 Cannot find module 'sounds/click_hi.mp3'.ts(2307)。
我尝试将文件放在与组件相同的文件夹中,以确保避免路径中的拼写错误。但运气不好...我怎样才能导入mp3文件?
应用程序.tsx
import React, { useState, useRef, useEffect } from "react";
import ReactDOM from "react-dom";
import { Sampler } from "tone";
import ClickHi from 'sounds/click_hi.mp3'
export default function ExercisePage() {
const [isLoaded, setLoaded] = useState(false);
const sampler = useRef(null);
useEffect(() => {
sampler.current = new Sampler(
{ "A1": ClickHi },
{
onload: () => {
setLoaded(true);
}
}
).toMaster();
}, []); …Run Code Online (Sandbox Code Playgroud) 在我的计算机上本地工作后,我第一次尝试使用npm run deploy. 当我访问该网址时,所有组件都在那里,但由于某种原因,它们的尺寸比我在本地主机上看到的要大。
这是本地的样子:
这是部署的网站上的样子:

有人可以解释一下这是怎么回事吗?
NODE_ENV当我在开发节点 ( ) 中构建 React 应用程序时,我想手动更改环境变量的值yarn run start。
当我这样做时,我收到此错误eslint .
Error: Failed to load parser '@typescript-eslint/parser' declared in '.eslintrc.yml \xc2\xbb \neslint-config-react-app#overrides[0]': Cannot find module 'typescript'\nRun Code Online (Sandbox Code Playgroud)\n create-react-app ×10
reactjs ×7
typescript ×2
antd ×1
deployment ×1
django ×1
eslint ×1
github-pages ×1
javascript ×1
kubernetes ×1
nginx ×1
python ×1
sass ×1
storybook ×1