小编Fai*_*med的帖子

什么相当于VueJS中的Angular Service?

我想将所有与服务器通信的函数放入VueJS中并将数据提取到一个可重用的文件中.

插件似乎不是最好的选择.模板较少的组件..?

service vue.js vuejs2

82
推荐指数
4
解决办法
3万
查看次数

如何在Laravel的外部js文件中包含csrf_token()?

最初,我使用<script>标记在HTML页面中编写了所有JavaScript代码.

JavaScript中jQuery的post调用是这样的.

$.post('store',{'_token':'{{csrf_token()}}'}, function(data){ /*a bunch of code*/ });
Run Code Online (Sandbox Code Playgroud)

代码工作正常.但是,后来我将所有脚本放入外部js文件中.代码不再起作用了.

我有问题{{csrf_token()}},错误是

compile.php中的TokenMismatchException

如果我想使用Laravel的外部js文件,我该怎么办?

javascript php jquery laravel laravel-5

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

如何在 AWS 中的特定时间触发 Lambda 函数?

我知道可用于重复运行 Lambda 的 CloudWatch 重复事件..但是有没有办法可以在特定时间触发它而不重复?

cron amazon-web-services aws-lambda

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

SyntaxError:JSON.parse:JSON数据第1行第2列的意外字符 - FireBug报告此错误.有解决方案吗

我使用Laravel Response :: json生成JSON响应.

return Response::json(array('subjects' => $subjects, 'year' => $year, 'sem' => $sem));
Run Code Online (Sandbox Code Playgroud)

当我运行请求时,我得到一个有效的JSON(在JSONLint中测试)作为响应.

但是以下jQuery方法失败了: $.parseJSON(data)

我在FireBug中收到以下错误:

SyntaxError:JSON.parse:JSON数据的第1行第2列的意外字符

我收到的回复:

{
    "subjects": [
        {
            "id": 1,
            "name": "Control Systems",
            "semester": 1,
            "year": 3,
            "branch_id": 4
        },
        {
            "id": 2,
            "name": "Analog Communications",
            "semester": 1,
            "year": 3,
            "branch_id": 4
        },
        {
            "id": 3,
            "name": "Linear IC Applications",
            "semester": 1,
            "year": 3,
            "branch_id": 4
        },
        {
            "id": 4,
            "name": "Antennas & Wave Propagation",
            "semester": 1,
            "year": 3,
            "branch_id": 4
        }
    ],
    "year": …
Run Code Online (Sandbox Code Playgroud)

php jquery json

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

如何更改Docker容器中的代码?

我对Docker和Containers完全陌生。我还是整个VM概念的新手。

我知道VM和Docker是一种使应用程序的所有依赖项作为单个组件可用的方法,您可以轻松地将其部署在支持它们的云上。

我在本地计算机(Ubuntu)上安装了Docker,并使用本指南下载并运行了Node Official Image。

我现在需要知道的是如何更改Docker内部文件的代码?我对应用程序中的“ server.js”进行了更改,当我导航至http://locahost:49160浏览器时,仍显示旧版本的输出server.js。我重新启动了容器,但是得到了相同的旧输出。

我看到我可以提交更改并制作新图像。但是,那旧图像不是完全没有用吗?

还是我根本不了解Docker的工作原理?

node.js docker

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

调用Promise.all抛出Promise.all调用非对象?

我试图从承诺中返回承诺,然后Promise.all像这样运行:

updateVideos()
.then(videos => {
     return videos.map(video => updateUrl({ id: video, url: "http://..." }))
})
.then(Promise.all) // throw Promise.all called on non-object
Run Code Online (Sandbox Code Playgroud)

我怎么能用这种呢Promise.all?我知道.then(promises => Promise.all(promises))有效.但是,只是想知道为什么失败了.

Express res.json也会发生这种情况.错误信息不同,但我认为原因是一样的.

例如:

promise().then(res.json) // Cannot read property 'app' of undefined
Run Code Online (Sandbox Code Playgroud)

不起作用但是

promise().then(results =>res.json(results))
Run Code Online (Sandbox Code Playgroud)

确实.

javascript node.js promise

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

仅出于测试目的导出函数是否被认为是一种不好的做法?

我有这个问题,尤其是在阅读了关于测试 React 组件的官方 redux 文档后:

https://github.com/reduxjs/redux/blob/master/docs/recipes/WritingTests.md

为了能够在不处理装饰器的情况下测试 App 组件本身,我们建议您也导出未装饰的组件

即使是著名的https://www.reactboilerplate.com/ 也导出了命名为未连接的组件,只是为了能够在不模拟商店的情况下测试它们。

但是,仅仅为了使事情更容易测试而导出某些东西不是被认为是坏事吗?

在某些情况下,开发人员可能会错误地导入并引入错误,只是因为从文件中导出了两件事。

所以,问题本质上是:

我们可以对实际代码进行更改以使测试更容易吗?

虽然这个问题是针对 React 的,但如果知道其他语言或框架是否有类似的问题以及如何处理这些问题,那就太好了。

javascript testing design-patterns node.js reactjs

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

在 AWS 上启用 API 网关 IPv6?

我使用 Lambda 和 API Gateway 来构建 API。而且,我了解到 AWS CloudFront 支持 IPv6。我想使用自定义域,并根据 API 网关的要求使用 ACM 创建了证书。

但是,当我使用http://ready.chair6.net测试是否找到 CloudFront URL 的 AAAA 记录时,未找到 AAAA 记录。

许多博客文章假设 CloudFront 分发设置是可访问的。但是,当我们使用 API Gateway 创建 CloudFront 分配时,您无法更改分配的设置 - 不能从控制台更改。

如何为 API 网关启用 IPv6?

dns ipv6 amazon-web-services

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

无法使用预签名 URL 通过 Postman 将文件上传到 S3。错误:签名不匹配

如何使用签名 URL 将文件上传到 S3?

我尝试了以下方法:

  const AWS = require('aws-sdk');
  const s3 = new AWS.S3({ accessKeyId: "", secretAccessKey: "" });

  const url = s3.getSignedUrl("putObject", {
    Bucket: "SomeBucketHere",
    Key: "SomeNameHere",
    ContentType: "binary/octet-stream",
    Expires: 600
  });
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试按照以下步骤使用 Postman 上传时,出现错误SignatureDoesNotMatch

  1. 使用上述代码中的 URL 的 PUT 方法
  2. 正文:(binary单选按钮),选择文件,选择要上传的文件
  3. 点击发送

我可以确认 IAM 权限不是这里的问题。我可以完全访问存储桶。

出了什么问题以及如何测试我的签名 URL?

amazon-s3 amazon-web-services pre-signed-url postman

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

未找到列 - Laravel whereHas 错误

我很难解决这个错误。

我的模型:

用户模型:

class User extends Model{
    public function requests()
    {
        return $this->hasMany('App\Models\TeamRequest','requested_user_id');
    }
}
Run Code Online (Sandbox Code Playgroud)

团队请求模型:

class TeamRequest extends Model {

    public function requested_user()
    {
        return $this->belongsTo('App\Models\User', 'requested_user_id');
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试这个查询:

UserModel::whereHas('requests',function($query) use ($team_id){
            $query->where('team_id',$team_id)
                    ->get();
        });
Run Code Online (Sandbox Code Playgroud)

而且,我收到一个错误:

未找到列:“where 子句”中的 1054 列“users.id”未知(SQL:select count(*) from team_requestswhere team_requests. requested_user_id= users. id

为什么我收到这个错误?

架构:

用户表

主键 - id

varchar - 电子邮件

varchar - 密码

team_requests 表

主键 - id

整数 - requests_user_id

我还有其他专栏,但我相信它们没有效果。

php laravel eloquent

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

使用 S3 进行 HLS 直播 - 这些假设是否正确?

我想做一个直播。而且,我想使用 HLS。

我知道 HLS 直播流只是一个带有“.m3u8”扩展名的主播放列表文件,其中列出了所有要播放的文件。

但是,对于实时流,由于并非所有文件都可以随时使用,因此它们会在进来时添加。

我现在想使用 S3 来托管这些文件和播放列表文件。

现在,我想更新 S3 中的播放列表文件。但它实际上将替换现有的播放列表文件,而不是仅仅更新它(根据这个答案)。

所以,我假设在文件替换期间不会有死区时间。如果有死区时间,我该如何克服它?这是这样做的方法还是有其他更好的方法来做到这一点。

我正在使用 NodeJS 服务器,仅供参考。

*没有文件时的死区时间。

amazon-s3 live-streaming node.js http-live-streaming m3u8

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