小编iho*_*ald的帖子

如何在 Express 中禁用单个路由的 CORS,而不重写所有路由?

TLDR:在示例中,我只是想让它/users/delete不能被我的 React 应用程序之外的任何东西调用。

我的应用程序的后端 API 有很多使用 Express 的路由:

IE。服务器.js

app.get('/invoices/read', async (req, res) => {
    // gather data from db
    res.json({...data})
})
Run Code Online (Sandbox Code Playgroud)

我在全球范围内启用了 cors,如下所示:

服务器.js

app.use(function(req, res, next) {
  res.header('Access-Control-Allow-Origin', '*');
  res.header(
    'Access-Control-Allow-Headers',
    'Origin, X-Requested-With, Content-Type, Accept'
  );
  next();
});
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是,如何为这样的单个路由禁用 CORS

app.post('/users/delete', async (req, res) => {
    // delete user out of database
    res.sendStatus(200)
})
Run Code Online (Sandbox Code Playgroud)

无需将我的所有路线重写为如下所示:

var cors = require('cors');

app.get('/invoices/read', cors(), async (req, res) => {
    // gather data from db
    res.json({...data})
})
Run Code Online (Sandbox Code Playgroud)

这样用户就不能仅使用/users/delete任意 …

javascript node.js cors express reactjs

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

Webpack 3找到.mp4文件,但视频无法播放

Webpack 3定位.mp4文件但视频无法播放

在GitHub上克隆这个项目

我在Adobe新的Animate CC中创建了一个动画并将其导出为.mp4文件

在我的webpack.config.js文件中,我声明file-loader应该用于加载我的.mp4文件,如下所示:

webpack.config.js

  {
    test: /\.(mov|mp4)$/,
    use: [
      'file-loader'
    ]
  }
Run Code Online (Sandbox Code Playgroud)

(你可以在webpack.config.js下面找到我的源代码)

那么,为什么,当我运行webpack(或者说本地,webpack作为npm脚本)

的package.json

"build:dev": "webpack --watch",
Run Code Online (Sandbox Code Playgroud)

浏览器是否找到该.mp4文件

的index.html

<video loop autoplay controls>
  <source id="arrows" src="c31...random_hash...1611.mp4" type="video/mp4">
</video>
Run Code Online (Sandbox Code Playgroud)

但不玩吗?

我试过的其他事情

  • 在JavaScript中设置video标记的src属性
  • 将视频文件放在index.html旁边的同一目录中
  • 使用不同的格式(.mov)

这是我的源代码:

webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const webpack = require('webpack');

module.exports …
Run Code Online (Sandbox Code Playgroud)

loader .mov webpack animate-cc

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

反应:调用带有参数的函数会导致无限循环

因此,我有一个组件,它使用prop渲染另一个组件,如下所示:

`<Component_One>
    <Component_Two onChange={this.changeSomething} />
</Component_One>`
Run Code Online (Sandbox Code Playgroud)

在Component_One内部,该函数changeSomething()采用一个参数:id

所以在里面Component_OnechangeSomething()看起来像这样:

`changeSomething(id) {
    this.setState({something: id});
}`
Run Code Online (Sandbox Code Playgroud)

Component_Two 看起来像这样:

`<div id="componenttwo">
    <div onClick={this.props.onChange(0)}>
        <div className="badge"></div>
    </div>
    <div onClick={this.props.onChange(1)}>
        <div className="badge"></div>
    </div>
    <div onClick={this.props.onChange(2)}>
        <div className="badge"></div>
    </div>
</div>`
Run Code Online (Sandbox Code Playgroud)

目的是让this.state.something内部Component_One等于...中iddiv 的显式类型Component_Two

但相反,它将引发此错误: SCRIPT5022: Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops. …

reactjs

0
推荐指数
1
解决办法
1207
查看次数

标签 统计

reactjs ×2

.mov ×1

animate-cc ×1

cors ×1

express ×1

javascript ×1

loader ×1

node.js ×1

webpack ×1