小编Dan*_*Dan的帖子

如何触发nextjs默认500错误页面

我无法触发 Next.js 的 500 错误页面。大多数资源都讨论如何创建自定义错误页面,但 Next.js 文档简要提到了其默认的 500 错误页面。我想在 API 响应 500 状态时触发此默认页面。

给定 API 响应 500 Next.js 应显示 500 错误页面。到目前为止,它返回到发出请求的页面。

return res.status(500).end();
Run Code Online (Sandbox Code Playgroud)

javascript next.js

11
推荐指数
2
解决办法
2万
查看次数

如何将脚本包含在 angular.json 中

我想进口aframe<head>使用标签angular.json配置作为一个单独的包。

在里面,angular.json我有要从 node_modules 导入的脚本:

"scripts": [
    "node_modules/aframe/dist/aframe-v1.0.0.min.js"
]
Run Code Online (Sandbox Code Playgroud)

这是在 html 正文的底部捆绑和导入的。

<body>
    <app-root></app-root>
    ...
    <script src="scripts.js" ...>
</body>
Run Code Online (Sandbox Code Playgroud)

这是不可取的,因为库特别要求我在<head>.

此外,我想将其作为单独的包导入:

"scripts": [
  { "input": "node_modules/aframe/dist/aframe-v1.0.0.min.js", "bundleName": "aframe-v1.0.0.min" }
]
Run Code Online (Sandbox Code Playgroud)

javascript aframe angular

9
推荐指数
1
解决办法
7988
查看次数

如何在 github-actions 中运行针对 localhost 的 playwright?

我正在尝试对 github-actions 运行剧作家 E2E 测试,但到目前为止尚未成功。

    - name: Run build and start
      run: |
        yarn build:e2e
        yarn start:e2e &
    - name: Run e2e
      run: |
        yarn e2e
Run Code Online (Sandbox Code Playgroud)

我不认为服务器在playwright运行时正在运行,因为所有 e2e 测试最终都失败了。

运行构建并启动

Done in 192.91s.
yarn run v1.22.19
$ env-cmd -f environments/.env.e2e next start
ready - started server on 0.0.0.0:3000, url: ***
Run Code Online (Sandbox Code Playgroud)

运行 e2e

Test timeout of 270000ms exceeded while running "beforeEach" hook.
Run Code Online (Sandbox Code Playgroud)

我非常确定剧作家无法http://localhost:3000从上一步连接到,这就是所有测试超时的原因。

next.js github-actions playwright

6
推荐指数
1
解决办法
4021
查看次数

::和之间有什么区别?在鲁斯特?

::和之间的不同感到困惑..它们看起来一样,只是它们的语法不同.

let mut guess = String::new();

io::stdin().read_line(&mut guess)
    .expect("Failed to read line");
Run Code Online (Sandbox Code Playgroud)

来自Rust编程语言的 "编程猜测游戏"

在上述情况下,我进入功能new()String.String::new()和之间有什么区别String.new()?是.只为方法呢?

rust

5
推荐指数
2
解决办法
348
查看次数

限制 S3 静态网站对 Cloudfront 的访问

我知道这是一个常见问题,但我的解决方案并不成功。

我在 S3 上托管了两个网站:

  • Bucket.ca(允许*.bucket.ca
  • dev.bucket.ca(允许dev.bucket.ca

它们可以公开访问,但我不希望任何人访问他们的 S3 url。所以我用 编辑了存储桶策略StringEquals

每个桶一个:

arn:aws:s3:::bucket.ca/* arn:aws:s3:::dev.bucket.ca/*

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "PublicReadForGetBucketObjects",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::dev.bucket.ca/*",
            "Condition": {
                "StringEquals": {
                    "aws:UserAgent": "random-hash"
                }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是令人沮丧的部分。每次我对 Cloudfront 进行更改或对存储桶进行更改时,行为都非常不一致。

dev.bucket.ca似乎按预期工作,其 S3 url 导致访问被拒绝,并且我可以访问其任何子路径dev.bucket.ca/*。所以我为 复制了这个配置bucket.ca,但结果始终是 403。

回来检查dev.bucket.ca,我无法再访问它的子路径。dev.bucket.ca/404结果为 403。

有没有可靠的方法来测试 S3 和 Cloudfront 配置?每次编辑 Cloudfront 时,更改的更新速度都很慢。我是否应该每次都擦除浏览器缓存并重新打开隐身模式以获得更可靠的结果?

amazon-s3 amazon-web-services amazon-cloudfront reactjs

5
推荐指数
1
解决办法
1253
查看次数

什么是 Three.js 的 CopyShader?

我看到很多项目CopyShader在后处理链的末端使用。我在 Three.js 上找不到它的任何文档。它具体有什么作用?另外,为什么setRenderTarget这里有必要?如果移除,则不会应用效果。但是如果包含它,那么它将“冻结”a-scene到位,停止所有动画。我能够使用ticksetInterval恢复动画,但性能受到了巨大的打击。

例如:

var composer = new THREE.EffectComposer( renderer );

renderer.setRenderTarget( composer.readBuffer );

var renderPass = new THREE.RenderPass( scene, camera );

var copyPass = new THREE.ShaderPass( CopyShader );
composer.addPass( renderPass );

var vignettePass = new ShaderPass( VignetteShader );
vignettePass.uniforms[ "darkness" ].value = 1.0;

composer.addPass( vignettePass );
composer.addPass( copyPass );
composer.render();

this.composer = composer; // To run as composer.render()
Run Code Online (Sandbox Code Playgroud)

three.js aframe

5
推荐指数
1
解决办法
1294
查看次数

关于在 Angular 中使用 Web 材料设计组件 (MDC Web) 的问题

我目前正在使用 Angular 8,我想使用材料设计。我发现网上提供了不同版本的材料设计库。我不确定应该使用哪一个。如果我的理解有误,请指正。谢谢。

  1. 角材
  2. 网页材料设计组件
  3. Trimox 的 Angular-MDC-Web

我认为第二个库直接来自材料设计,但第一个和第三个库来自第三方。如何material-components-web与 Angular 8 集成?我需要把它包起来吗?如果是这样,我该怎么做?

我更喜欢第二个,因为它不是由第三方开发的,而是直接在材料设计下进行的。

material-design angular-material angular

5
推荐指数
0
解决办法
882
查看次数

发送前检查Axios请求网址

API请求失败,因为由于我的配置,Axios生成的URL不正确。我知道请求网址看起来应该是什么样,所以我想看看Axios生成的请求网址。

我可以将Axios指向本地服务器并在其中查看请求,但是我想在客户端上调试它。我想玩配置,看看请求如何变化。有没有一种方法可以在发送之前或之后从Axios输出请求url?

// param format
{ address: 'Vancouver', key: GOOGLE_API_KEY }

// Geocode sample
https://maps.googleapis.com/maps/api/geocode/json?address=1600+Amphitheatre+Parkway,+Mountain+View,+CA&key=YOUR_API_KEY

_request = async (...args) => {
  const { outputFormat, params } = args
  const instance = axios.create({
    baseURL: `https://maps.googleapis.com`,
  })

  const response = await instance.get('/maps/api/geocode/${outputFormat}?', {
    params,
  })

  // I want to see the url generated by Axios so I can debug the issue

  console.log(response) 
}
Run Code Online (Sandbox Code Playgroud)

我是内ExpoReact Native环境。

使用提取的工作示例:

const url = `https://maps.googleapis.com/maps/api/geocode/json?address=vancouver&key=${GOOGLE_API_KEY}`

fetch(url)
  .then((response) => response.json())
  .then((data) => {
    console.log(data) …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps react-native axios

3
推荐指数
2
解决办法
8777
查看次数

如何可视化Fibonacci递归?

我总是在努力想象递归,因为它不像迭代循环和for循环那样简单.

很容易忘记递归中发生的事情,因为我们经常使用抽象概念,如值(数字)和变量(x和y).

如何以避免抽象和使用易于想象的隐喻的方式可视化Fibonacci系列的递归方法?

javascript recursion fibonacci

2
推荐指数
1
解决办法
1658
查看次数