有许多资源解释声明文件 (d.ts) 对于以下任一方面很有用:
让我感到困惑的是,许多项目(例如Material-ui)都使用 d.ts 文件来简单地存储类型并在自己的代码中使用它们。
此时我开始质疑,types.ts
当我们可以拥有文件并types.d.ts
简单地使用其接口/类型而不需要导出/导入时,拥有必须导出/导入类型和接口来使用它们的文件有什么意义?使用其中一种相对于另一种有哪些优点和缺点?
在 下创建新项目时create-react-app
,您会立即收到有关postcss
.
npm 报告的问题:https ://www.npmjs.com/advisories/1693
相关的未决问题可以在这里找到:
该问题已在 上修补postcss v8.2.10
,但在创建新项目时仍然存在,因为react-scripts
尚未升级依赖项。
所以,我的问题是我无法再运行构建,因为它们由于漏洞而失败。
由于我迫不及待地等待他们修补它以继续处理我的东西(他们似乎从一年前就意识到了这一点),是否有一些解决方法可以用来解决它?
我尝试添加一个postcss
分辨率package.json
:
"resolutions": {
"postcss": "^8.2.10"
},
Run Code Online (Sandbox Code Playgroud)
但这并没有让我失望。
任何的想法?
我有一个正在运行节点的简单 Dockerfile,这是配置:
FROM node:latest
WORKDIR /usr/src/auth-starter-server
COPY ./ ./
RUN npm install
CMD ["sh"]
Run Code Online (Sandbox Code Playgroud)
它正在 docker-compose.yml 上使用,如下所示:
version: "3.8"
services:
# Node Server
auth-starter-server:
container_name: server
restart: unless-stopped
build: ./
command: npm run start:live
working_dir: /usr/src/auth-starter-server
ports:
- "5000:5000"
volumes:
- ./:/usr/src/auth-starter-server
Run Code Online (Sandbox Code Playgroud)
一天又一天,我无法再构建这样的形象了。启动没有问题,
Creating network "react-auth-starter_default" with the default driver
Building auth-starter-server
Step 1/5 : FROM node:latest
---> 6f7f341ab8b8
Step 2/5 : WORKDIR /usr/src/auth-starter-server
---> Using cache
---> b25f7c08d3eb
Step 3/5 : COPY ./ ./
---> Using cache
---> 2a06e76bab32 …
Run Code Online (Sandbox Code Playgroud) 描述
我有一个奇怪的错误,当使用vmin
单位设置时,边框会导致内容和边框本身之间出现小间隙。
可重现的片段
调整窗口大小以查看它,因为它只发生在某些设备视口上
body {
display: flex;
justify-content: center;
align-items: center;
width: 100vw;
height: 100vh;
margin: 0;
padding: 0;
}
.container {
display: flex;
width: 80%;
height: 80%;
border-right: 1vmin solid red;
}
.content {
display: flex;
width: 100%;
height: 100%;
background-color: black;
}
Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="content" />
</div>
Run Code Online (Sandbox Code Playgroud)
前提
vmin
单位设置边框以使其在任何屏幕分辨率之间保持一致display: flex
问题
我怀疑问题在于如何将vmin
值四舍五入为像素,从而创建在类似场景中可以看到的额外像素(其中有背景的孩子突出显示间隙)。
我的尝试
display: table
s 而不是flex
修复额外的 px,但这不能作为一个选项,因为需要 flexvw
/vh
或任何视口单元产生相同的问题解决方案 …
根据标题,我想要实现的是将编辑器中的 Wysiwyg 内容显示到另一个组件。
我在此处的codesandbox上创建了一个示例:https ://codesandbox.io/s/boring-tharp-zwflu
正如您所看到的,编辑器工作正常并且返回了应有的值。
我的问题是我无法将返回的字符串转换为 JSX 标签。
我进行了深入搜索,但找不到任何相关内容。
预先感谢您的时间和帮助!
对于生产,我有一个Dockerfile
使用 Nginx 提供 React 应用程序的服务:
# Stage 1
FROM node:15.6.0-alpine3.10 as react-build
WORKDIR /app/client/
COPY package*.json ./
RUN npm install
COPY ./ ./
RUN npm run build
# Stage 2 - the production environment
FROM nginx:1.19.6
COPY nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=react-build /app/client/build /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Run Code Online (Sandbox Code Playgroud)
对于用 Node / Express 编写的后端,我有以下内容Dockerfile
:
FROM node:15.6.0-alpine3.10
WORKDIR /app/server/
COPY package*.json ./
RUN npm install
COPY ./ ./
EXPOSE 8080
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
这些容器是这样管理的docker-compose.yml
: …
我正在尝试使用 实现一些视差动画react-spring
,但我无法找到一种以响应/统一方式分隔容器的方法。
在这里,我制作了一个片段,其中包含在滚动时为一些 div 设置动画的基本视差效果:
<Parallax pages={5}>
<ParallaxLayer offset={0} speed={0.4} style={{ height: "auto" }}>
<div className="box" />
</ParallaxLayer>
<ParallaxLayer offset={0.9} speed={0.6} style={{ height: "auto" }}>
<div className="box" />
</ParallaxLayer>
<ParallaxLayer offset={1.1} speed={0.8} style={{ height: "auto" }}>
<div className="box" />
</ParallaxLayer>
<ParallaxLayer offset={1.9} speed={1} style={{ height: "auto" }}>
<div className="box" />
</ParallaxLayer>
<ParallaxLayer offset={2} speed={1.2} style={{ height: "auto" }}>
<div className="box" />
</ParallaxLayer>
</Parallax>
Run Code Online (Sandbox Code Playgroud)
具有基于其内容的高度的图层会使它们没有响应,因为每个图层都是从指定offset
位置开始的。
如果图层设置为指定的视口高度,我猜这会起作用,但这真的是唯一的方法吗?或者我可能误解了这个组件的用法?
我正在尝试使用 Python 和 NumPy 的方法来比较它们的性能:
\nimport numpy as np\n\nmassive_array = np.random.random(100000)\n\n%timeit sum(massive_array) # Python\'s sum()\n%timeit np.sum(massive_array) # NumPy\'s np.sum()\n
Run Code Online (Sandbox Code Playgroud)\n它工作正常并返回以下内容:
\n9.56 ms \xc2\xb1 523 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 100 loops each)\n51.9 \xc2\xb5s \xc2\xb1 1.59 \xc2\xb5s per loop (mean \xc2\xb1 std. dev. of 7 runs, 10,000 loops each)\n
Run Code Online (Sandbox Code Playgroud)\n唯一的问题是,在 vscode 上使用笔记本时,我收到一个Pylance
关于百分比符号标记的错误%timeit
:
被标记的原因是什么?鉴于它也成功执行,这不应该是一个有效的表达式吗?
\n我想要实现的是将包含上传图像文件的请求从客户端(React)发送到服务器端(Express)
这是我在服务器上创建的表单示例,它发送我应该使用 React 发送的数据:
<form method="post" action="post" enctype="multipart/form-data">
<input type="file" name="image" /><br /><br />
<button type="submit" name="upload">Upload</button>
</form>
Run Code Online (Sandbox Code Playgroud)
这是上传图像时提交的表单发送的对象:链接
这里是反应组件:
const Component = () => {
const setImageAction = async (event) => {
event.preventDefault();
const data = await fetch("http://localhost:3000/upload/post", {
method: "post",
headers: { "Content-Type": "multipart/form-data" },
body: JSON.stringify({
}),
});
const uploadedImage = await data.json();
if (uploadedImage) {
console.log('Successfully uploaded image');
} else {
console.log('Error Found');
}
};
return (
<div className="content">
<form onSubmit={setImageAction}>
<input type="file" name="image" /> …
Run Code Online (Sandbox Code Playgroud) 给定一个包含多个延迟加载路由的简单应用程序,
import React, { lazy, Suspense } from "react";
import { Route } from "react-router-dom";
import "./styles.css";
const Component = lazy(() => import("./Component"));
const PageNotFound = lazy(() => import("./PageNotFound"));
export default function App() {
return (
<div className="App">
<Route
path="/component"
exact
render={() => (
<Suspense fallback={<div>Loading..</div>}>
<Component />
</Suspense>
)}
/>
<Route
path="*"
render={() => (
<Suspense fallback={<div>Loading..</div>}>
<PageNotFound />
</Suspense>
)}
/>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
如何进行测试来检查这些组件是否正在该特定路线上呈现?
这是我尝试过的 App.test:
import { configure, shallow, mount } from "enzyme";
import Adapter from …
Run Code Online (Sandbox Code Playgroud) 根据标题,由于某种原因,我无法将 Amplify 上部署的应用程序连接到 Route 53 上提供的自定义域。
这是使用 Amplify 部署的应用程序:https://master.dwog1beoc1uv7.amplifyapp.com/
在 Route 53 上,我创建了一个托管区域并添加了一条CNAME
记录,该记录应将自定义域连接到 amplify 托管应用程序的域:
然后我转到 Amplify 并为该应用程序添加了一个新域:
如果我现在返回 Route 53,我可以看到记录已自动更新,如下所示:
尽管一切看起来都设置正确,但自定义域 ( http://alessiopetrin.com/ ) 还无法正常工作。
如果我测试 53 号公路上的记录,一切看起来都很好:
我知道我应该留出一些时间让 DNS 传播生效(AWS 规定最多 24 小时),但时间快到了,我看不到它正在工作,这让我觉得有些事情已经结束了。
根据第二个屏幕截图,我可以在 Amplify 上看到它正在等待我添加记录CNAME
以激活域,所以我可能认为这可能是缺失的部分;问题是该记录已在 Route 53 上自动分配,因此不确定我是否也应该将该记录添加到其他位置?
如果我问的问题很明显,请道歉,并提前感谢您的帮助!
reactjs ×6
docker ×2
javascript ×2
node.js ×2
.d.ts ×1
api ×1
aws-amplify ×1
css ×1
enzyme ×1
express ×1
jestjs ×1
nginx ×1
npm ×1
numpy ×1
parallax ×1
postcss ×1
pylance ×1
python ×1
react-hooks ×1
react-spring ×1
tinymce ×1
typescript ×1