小编Nik*_*yan的帖子

解决'npm WARN saveError ENOENT:没有这样的文件或目录,打开'/Users/<username>/package.json''错误

我是新手,所以请包含URL链接或解释术语,以便我理解.

我已经设法通过终端在Mac OS(10.13.3)上安装'npm',并使用它安装了一些像SASS这样的软件包.

我现在正在尝试使用npm 安装sass-mq.我想我已经成功安装了它,但是我想对我可能做的事情提出第二个意见,这个意见是不完整的,或者做错了.

最初,按照sass-mq Github页面上的说明,我试图使用:

npm install sass-mq --save
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

npm WARN saveError ENOENT: no such file or directory, open '/Users/<username>/package.json'
    npm WARN enoent ENOENT: no such file or directory, open '/Users/<username>/package.json'
    npm WARN <username> No description
    npm WARN <username> No repository field.
    npm WARN <username> No README data
    npm WARN <username> No license field.

    + sass-mq@5.0.0
    updated 1 package and audited 1 package in 1.67s
    found 0 vulnerabilities
Run Code Online (Sandbox Code Playgroud)

环顾四周,我意识到我打算使用它

npm init
Run Code Online (Sandbox Code Playgroud)

..在输入我的'install sass-mq --save'命令之前.

很酷,做到了.下一个错误是这样的: …

installation sass npm npm-init

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

在 React 应用程序中保护 Firebase API 密钥使其无法公开访问的最佳方法是什么?

我目前有一个使用 Firebase 身份验证的 React 应用程序,并使用 Firestore 作为数据库。

我目前使用亚马逊的 Amplify 服务部署了该应用程序。我的 Firebase API 密钥,包括数据库 URL 和 firebase 应用程序 ID,都作为环境变量添加到 AWS 控制台中。

当我检查公共包时,我可以看到所有 API 密钥都是公共的。

我的问题是:

  • 这听起来对吗?
  • 是否有处理这种情况的最佳实践?
  • 我是否需要构建一个后端来处理这个问题?

security firebase reactjs google-cloud-firestore aws-amplify

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

如何使用 Swagger 3 将自定义中间件添加到express-openapi-validator

我有一个使用express-openapi-validator的Node应用程序,它接受一个api规范文件(这是一个.yml文件),并进行请求和响应验证。express-openapi-validator 包将请求路由到处理程序文件(在规范中定义)。其中一个处理程序可能如下所示:

function getUsers(req, res) {
  const { 'x-user-id': userId } = req.headers
  res.status(200).json(`Your userId is ${userId}`)
}
Run Code Online (Sandbox Code Playgroud)

我有一个 API 密钥功能,用户可以在其中获取新的 API 密钥,而其他端点则需要调用者在请求标头中包含 API 密钥来验证请求。

我知道应该可以使用中间件来验证请求,但我不知道如何在选定端点上将自定义中间件与 express-openapi-validator 包一起使用。

例如:

GET /apikey = 不需要 api 密钥 GET /resource = 需要 api 密钥

我该如何配置这个?

我的 app.js 中的 openapi 验证器代码如下所示:

new OpenApiValidator({
  apiSpec,
  validateResponses: true,
  operationHandlers: path.join(__dirname, './handlers'),
})
  .install(app)
  .then(() => {
    app.use((err, _, res) => {
      res.status(err.status || 500).json({
        message: err.message,
        errors: err.errors,
      });
    });
  });
Run Code Online (Sandbox Code Playgroud)

node.js swagger-3.0 express-openapi-validator

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