小编Sal*_*ene的帖子

AWS CodePipeline:源操作对 CodeStar 连接的权限不足

我正在设置 CodePipeline,并创建了一个操作来从 GitHub 获取源代码。

这需要建立一个连接,我做到了,而且在 GitHub 方面看起来也很好。

但是,如果我发布对管道的更改,我会在源阶段看到以下错误:

Insufficient permissions
Unable to use Connection: arn:aws:codestar-connections:us-east-1:REDACTED:connection/REDACTED. The provided role does not have sufficient permissions.
Run Code Online (Sandbox Code Playgroud)

我添加了对管道服务角色(我在管道设置中找到)的完整 CodeStar 访问权限,如下所示:

arn:aws:iam::REDACTED:role/service-role/AWSCodePipelineServiceRole-us-east-1-REDACTED
Run Code Online (Sandbox Code Playgroud)

有没有人知道可能会丢失什么?谢谢!

aws-codepipeline

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

Angular 13 升级,Angular-devkit 问题:无法读取未定义的属性“样式”

我正在尝试将 Angular 从 12 升级到 13,在执行npx @angular/cli@13 update @angular/core@13 @angular/cli@13并启动我的应用程序后,出现以下错误:

[error] TypeError: Cannot read properties of undefined (reading 'styles')
    at getStylesConfig (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/webpack/configs/styles.js:79:49)
    at /User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/builders/dev-server/index.js:130:43
    at /User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:72:16
    at generateWebpackConfig (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:61:40)
    at async generateBrowserWebpackConfigFromContext (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:123:20)
    at async generateI18nBrowserWebpackConfigFromContext (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:70:20)
    at async setup (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/builders/dev-server/index.js:127:47)

Run Code Online (Sandbox Code Playgroud)

这看起来像是罪魁祸首:

[error] TypeError: Cannot read properties of undefined (reading 'styles')
    at getStylesConfig (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/webpack/configs/styles.js:79:49)
    at /User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/builders/dev-server/index.js:130:43
    at /User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:72:16
    at generateWebpackConfig (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:61:40)
    at async generateBrowserWebpackConfigFromContext (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:123:20)
    at async generateI18nBrowserWebpackConfigFromContext (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/utils/webpack-browser-config.js:70:20)
    at async setup (/User/my-user/my-app/node_modules/@angular-devkit/build-angular/src/builders/dev-server/index.js:127:47)

Run Code Online (Sandbox Code Playgroud)

这是我的相关部分angular.json

function getStylesConfig(wco) …
Run Code Online (Sandbox Code Playgroud)

angular

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

浏览器缓存我的页面的非常奇怪的问题,即使被指示不要

我在 EC2 上有一个 Django 应用程序,Cloudflare 位于应用程序前面以缓存静态内容(JS 和 CSS 文件;图像分别托管在 S3 上,并再次通过 Cloudfront 提供,Cloudflare 位于顶部)。

每次我部署新的 CSS 时,我的 CSS 文件的文件名中的哈希值都会发生变化,例如my_stylesheet.12345678.css.

有时,在涉及 CSS 更改的版本发布后,我会收到一些用户通过电子邮件向我发送该网站呈现为“纯文本”的邮件。调查发现他们浏览器中的页面包含指向 CSS 文件的先前版本的 HTML,例如my_stylesheet.11111111.css,我的网络服务器上不再存在该文件。

由于我的网站非常动态(它是一个社交网络,因此大多数页面会因新帖子、新评论、新喜欢等而在每次请求时更改),为了解决这个问题,我删除了所有客户端缓存:我现在发送此页眉与主页类似:

cache-control: no-cache, no-store, must-revalidate, max-age=0.

我用 Django 的@never_cache装饰器实现了这一点。

这些是我的 Cloudflare 页面规则:

Cloudflare 页面规则

这些是我请求时主页的请求/响应标头:

Request URL: https://www.example.com/
Request Method: GET
Status Code: 200 
Remote Address: 111.111.111.111:443
Referrer Policy: strict-origin-when-cross-origin
cache-control: no-cache, no-store, must-revalidate, max-age=0
cf-cache-status: DYNAMIC
cf-ray: 63b9a4726dbe0e26-MXP
cf-request-id: 0947e51b7f00000e2661a28000000001
content-encoding: br
content-language: en
content-type: text/html; charset=utf-8
date: Tue, …
Run Code Online (Sandbox Code Playgroud)

django caching web-deployment cloudflare

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

如何在本地处理错误并跳过 Angular HTTP 拦截器?

我有一个 AngularHttpInterceptor来捕获错误并根据状态代码显示适当但通用的错误消息。

我有一个特定的情况,我实际上期望和错误消息(UI 尝试释放刚刚删除的资源上的锁定,所以我得到 404)。

在这种情况下,我想直接在调用 API 的地方处理错误,并跳过拦截器。

我试过这个:

releaseReviewerLock(itemType: EquipmentItemType, itemId: EquipmentItem["id"]): Observable<void> {
  return this.http
    .post<void>(`${this.configUrl}/${itemType.toLowerCase()}/${itemId}/release-reviewer-lock/`, {})
    .pipe(
      catchError(e => {
        if (e.status === HttpStatusCode.NotFound) {
          // We can ignore the 404 because the item has just been deleted, so there's nothing to release.
          return EMPTY;
        }
      })
    );
}
Run Code Online (Sandbox Code Playgroud)

但无论如何,不​​仅我的拦截器被调用,catchError上面的块根本没有执行(断点没有停止)。

我可以在不修改拦截器并保持单一职责的情况下实现我想要的吗?

谢谢!

angular

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

如何在CoffeeScript中缩进列表理解?

我有以下几行CoffeeScript:

names = (mail.folder for mail in @data when mail.service_name is service.name).unique()
Run Code Online (Sandbox Code Playgroud)

这条线太长了,所以它不会通过linting by CoffeeLint.

我试图打破它,但我总是得到缩进错误CoffeeLint.

缩进这个的正确方法是什么?

indentation coffeescript

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

QUnit + PhantomJS:asyncTest永远不会返回

我在尝试设置PhantomJS时遇到了问题,因此我可以通过Travis CI对我的JavaScript项目进行持续集成.

基本上,即使是最简单的asyncTest也永远不会回来.使用node或在浏览器(如Chrome)中测试时,它可以正常工作.

asyncTest看起来像这样:

asyncTest ("async test", function() {
    expect(1);
    console.log("Beginning test...");
    setTimeout(function() {
        ok(true, "true is true");
        start();
        console.log("Test should now end...");
    }, 200);
});
Run Code Online (Sandbox Code Playgroud)

我已经用最小的代码建立了一个存储库来重现问题:

https://github.com/siovene/phantomjs-async-test

我很感激任何帮助!

qunit phantomjs

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

angular.json 中带有“inject: false”的样式不会获得哈希值

我正在尝试向我的 Angular 12 应用程序添加多个主题,我的设置angular.json如下:

"styles": [
  {
    "input": "src/styles.scss",
    "inject": false,
    "bundleName": "assets/themes/default"
  },
  {
    "input": "src/styles-high-contrast.scss",
    "inject": false,
    "bundleName": "assets/themes/high-contrast"
  }
]
Run Code Online (Sandbox Code Playgroud)

然而,当我构建用于生产的应用程序时,这些文件的文件名中没有哈希值:

$ find dist -name '*.css'
dist/assets/themes/high-contrast.css
dist/assets/themes/default.css
Run Code Online (Sandbox Code Playgroud)

使用默认设置:

"styles": [
  "src/styles.scss"
]
Run Code Online (Sandbox Code Playgroud)

相反,我得到这个:

$ find dist -name '*.css'
dist/styles.1ee1562d01e33dd2000e.css
Run Code Online (Sandbox Code Playgroud)

这意味着文件不会被缓存破坏,这显然是不行的。

但是,文件包含得很好并且样式表也正确应用。

任何人都可以提供有关为什么文件名没有散列的任何见解吗?

谢谢!

angular

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

我什么时候应该在Emberjs动态添加的HTML代码上调用Twitter Bootstrap方法?

我正在使用Emberjs,车把Twitter Bootstrap.在我的handlebars模板中,我正在使用Twitter Boostrap dropdown:

<ul class="nav nav-pills">
    <li class="dropdown">
        {{#each content}}
            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button">
                <i class="icon-plus-sign">
            </a>
            <ul class="dropdown-menu" role="menu">
                <li>
                    <a href="#" {{action my_action my_argument}}> My Action </a>
                </li>
            </ul>
        {{/each}}
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

由于此HTML代码在加载页面时不能立即可用,但稍后会动态加载,在使用AJAX请求加载数据并content填充变量后,该代码dropdown无法正常工作:action单击链接时它不会关闭.

我理解为了使这个工作,我需要在dropdown元素在DOM 之后做这样的事情:

$('.dropdown-toggle').dropdown();
Run Code Online (Sandbox Code Playgroud)

Emberjs中,将数据添加到DOM 之后,是否有回调或我可以做到的地方?

handlebars.js twitter-bootstrap ember.js

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

如何比较 Java 8 中 Date 对象之间的时间?

给定两个Date包含小时和分钟的对象,我如何优雅地找出其中哪一个具有一天中最早的时间?

例如,如果date12018-01-0109:00,并且date22018-01-0208:00,那么这个规范,date2 < date1

java date

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