小编jab*_*oja的帖子

WebStorm报告内置对象的"缺少导入"

我在WebStorm中有一个ES6项目,显然有时使用一些内置对象,如MathJSON.

这两个HTML /的ECMAScript 5ECMAScript中6在"设置/(...)/的JavaScript /库"已启用,但仍然WebStorm表明,MathJSON遗漏的进口.

当我创建一个空的新项目时,它工作正常.我还注意到,在选择JSON这样的新项目并按下CTRL + B时​​,WebStorm会显示其内部库中的定义.

相反,在我的主项目中,它显示了一些来自完全不相关的项目的TypeScript.如果我在项目外移动带有打字稿的文件夹,它似乎有效.

Nota bene,我有错误的文件不是用TypeScript编写的,不包含任何与TypeScript相关的内容,也不以任何方式使用TypeScript处理.它仅使用ES6到ES5的转换器进行处理.

webstorm ecmascript-6

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

AngularJS等效于Angular ng-container

这是一个AngularJS等效的Angular ng-container

或者我应该用transclude指令自己创建一些东西?


用例示例:

  1. 具有隔行对,三元组等的表格:

    <table><tr>
      <ng-container ng-repeat="item in items">
        <td>{{ item.a }}</td>
        <td>{{ item.b }}</td>
      </ng-container>
    </tr></table>
    
    Run Code Online (Sandbox Code Playgroud)

    DOM树中不应该有额外的级别,而是<td>s应该是<tr>元素的直接子级.

  2. HTML列表存在类似的问题,尤其是定义列表,其中<dt>/ <dd>元素应该是直接子元素,<dl>而它们通常成对存在.

  3. 表格式的数据排列display:grid:

    <div style="display: grid; grid-template-columns: auto auto">
        <ng-container ng-repeat="item in items">
            <div>{{ item.a }}</div>
            <div>{{ item.b }}</div>
        </ng-container>
    </div>
    
    Run Code Online (Sandbox Code Playgroud)

    这种情况甚至更成问题,因为DOM树中存在的容器元素导致整个布局中断,因为它被渲染为单元而不是其子元素.

angularjs angularjs-directive angular

17
推荐指数
3
解决办法
5833
查看次数

如何告诉 WebStorm 模块已安装

有一个项目分为多个存储库,克隆到单独的文件夹中。有一个库在其他存储库的 package.json 中没有被引用(并且不能被引用),因为它是通过构建脚本添加的。

如何覆盖 WebStorm 以便它不会为每次导入都显示“未安装模块”错误?

注意,我需要它所在的库,而不是在 node_modules 中,因此将它添加到 package.json 不是解决方案。

webstorm ecmascript-6

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

在内联 svg 标签上使用 viewBox 属性时出现 WebStorm 警告

我使用带有 viewBox 属性的 SVG 标记,内联在 HTML 文件中。

<!doctype html>
<html><!-- ... ---><body>
  <!-- ... -->
  <svg viewBox="0 0 17 17">
    <!-- ... -->
  </svg>
  <!-- ... -->
</body></html>
Run Code Online (Sandbox Code Playgroud)

尽管它正在工作(并且在这里需要),但 WebStorm 给了我一个警告:

此处不允许使用属性 viewBox

我做错了什么还是只是 WebStorm 中的一个错误?

html svg webstorm

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

Nginx 后面的 Keycloak 管理控制台配置为使用 HTTPS

我正在尝试设置 Keycloak,但是教程希望我访问http://localhost:8080,但我正在远程主机上设置它,并且需要从外部访问管理控制台。我尝试通过 Nginx 公开它。Keycloak 管理控制台似乎可以无缝地使用新域名和端口,但它仍然尝试使用“http”网址而不是“https”网址(我已将 Nginx 配置为将 HTTP 重定向到 HTTPS,并且我想保留出于安全原因,就这样)。我发现问题是它内部设置了一个变量:

var authServerUrl = 'http://example.com/auth';
Run Code Online (Sandbox Code Playgroud)

虽然正确的网址是https://example.com/auth.

结果,当我https://example.com/auth/admin/master/console/在浏览器中打开时,出现错误:

Refused to frame 'http://example.com/' because it violates the following Content Security Policy directive: "frame-src 'self'".
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?我使用的 Nginx 配置是:

server {
    server_name    example.com;

    listen         80;
    listen         [::]:80;

    location / {
      return         301 https://$server_name$request_uri;
    }
}

ssl_session_cache shared:ssl_session_cache:10m;

server {
    server_name example.com;

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    # ... <SSL and Gzip config goes here> ...

    location …
Run Code Online (Sandbox Code Playgroud)

nginx keycloak

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