小编Alo*_*lon的帖子

System.js不显示完整堆栈跟踪

我正在使用System.js加载用TypeScript编写的模块.System.js将我的原始代码包装在一个函数中,因此当我的代码中出现错误并尝试在Chrome开发人员工具中看到它时,单击错误只会将我带到JavaScript文件的第一行,其中有一个声明System.js添加的包装函数,而不是原始TypeScript文件中的正确行.

通常这不是问题,因为System.js将自己的堆栈跟踪添加到错误的末尾并单击它会将我带到原始TypeScript文件中没有包装函数的正确行.

但是,有时System.js不包含整个堆栈跟踪,那么Chrome生成的原始堆栈跟踪是查看错误行的唯一位置,但问题是单击它会将我带到JavaScript文件而不是TypeScript一个,并且到第一行,而不是正确的,如上所述.

我的问题:这是System.js中的错误还是我做错了什么?

为了使它更容易理解,我将在这里添加我的代码并解释方案.但请记住,我不会尝试修复我的代码,而是要了解为什么我无法通过开发人员工具找到正确的错误行.

所以这是我的System.js声明和配置:

<script src="/assets/libs/systemjs-master/dist/system-polyfills.js"></script>
<script src="/assets/libs/systemjs-master/dist/system.src.js"></script>

<script>
        System.config({
            defaultJSExtensions: true,
            transpiler: 'typescript',
        });

        System.import('app.module')
                  .then(null, console.error.bind(console));

 </script>
Run Code Online (Sandbox Code Playgroud)

这是app.module(System.js加载的根文件):

import './angular-1.4.7'
import './angular-route.min'
import {User} from "./classes";
import {Post} from "./classes";
import {BlogModel} from  "./model"

var app: angular.IModule = angular.module("blogApp", ["ngRoute"]);

var model: BlogModel = new BlogModel();

app.run(function($http: angular.IHttpService): void{
    $http.get("/user-context/current-user")
    .success(function(currentUser: User): void{
        if(currentUser.userName) {
            model.currentUser = currentUser;
        }
    }); 

  ... 
});

...
Run Code Online (Sandbox Code Playgroud)

产生错误的行:

$http.get("/user-context/current-user")
Run Code Online (Sandbox Code Playgroud)

这是我得到的完整堆栈跟踪:

在此输入图像描述

正如您所看到的,正确的错误行仅显示在OOTB开发人员工具堆栈跟踪中,但不显示在System.js中(50%的时间确实显示实际错误行,并且应该始终执行此操作).

当我点击OOTB开发人员工具堆栈跟踪中的错误行时,我只是突出显示第一行的这个文件:

(function(require, exports, module, __filename, __dirname, global, GLOBAL) { …
Run Code Online (Sandbox Code Playgroud)

javascript typescript systemjs

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

从typescript中获取内部javascript文件

我的项目中有一个js文件,我需要从ts文件中获取该文件.

js文件路径是"javascript/jsToConsume.js".

ts文件路径是"typescript/client.ts"

我在路径"typings/internal/jsToConsume.d.ts"中添加了一个声明文件,其内容如下:

declare namespace jsToConsume{
    export function func1(): void;
}
Run Code Online (Sandbox Code Playgroud)

在我的client.ts中我尝试使用它:

///<reference path="../typings/internal/jsToConsume.d.ts" />

import * as jsToConsume from '../javascript/jsToConsume'
Run Code Online (Sandbox Code Playgroud)

但是'../javascript/jsToConsume'标记为红线,我收到以下错误:

TS2307:找不到模块'../javascript/jsToConsume'

BTW代码运行完美,它只是一个TSC错误.

的JavaScript/jsToConsume.js:

function func1(){
    return "Hello World";
}
exports.func1 = func1;
Run Code Online (Sandbox Code Playgroud)

任何帮助将深表感谢!

javascript typescript

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

Node.js获得高内存使用率的通知

我在Amazon EC2上的Ubuntu 14上运行了一个Node.js应用程序.

我希望在内存使用量达到特定大小的情况下发送电子邮件.

我知道PM2公开了一个API,允许在达到一定量的内存使用量时重新启动应用程序.现在我不想重新启动应用程序,只是为了获得有关它的通知,并且无论我想要什么(在我的情况下,发送电子邮件).

如何使用PM2或任何其他免费工具进行此操作?

javascript memory amazon-ec2 amazon-web-services node.js

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

Node.js全局变量和TypeScript

我需要一些强类型的全局变量.

如下所述:在node.js中扩展TypeScript Global对象,为了向global变量添加字段,我需要添加一个扩展Globalnode.d.ts中指定的接口的.d.ts文件.

另外,正如Basarat所说:

您的文件需要清除任何根级别导入或导出.这会将文件转换为模块并将其与全局类型声明命名空间断开连接.

现在,我需要在Global接口上有字段,其类型是我创建的自定义接口:

declare namespace NodeJS{
    interface Global {
        foo: Foo
        bar: Bar
    }
}
Run Code Online (Sandbox Code Playgroud)

我非常不愿意使用这种any类型.

我可以将所有接口声明移动/复制到此声明文件,但这对我来说是一个糟糕的解决方案,因为Foo和Bar反过来会聚合其他接口的许多字段,包括Moment等第三方接口.

我需要一个解决这个悖论的方法

javascript oop module node.js typescript

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

DAG中的ExternalRDDScan是什么?

DAG中的ExternalRDDScan是什么意思?

整个互联网都没有解释。

在此处输入图片说明

internals directed-acyclic-graphs apache-spark

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

ECS相当于docker-compose的命令

我有一个使用 docker-compose 运行的应用程序。

现在我正在将应用程序迁移到 ECS 上托管。

我正在将 docker-compose 设置转换为 boto3 ECS 等效项。

不幸的是,我在AWS CLI中找不到与 docker-compose 等效的命令

amazon-web-services amazon-ecs docker boto3 docker-compose

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

Node.js不支持ES6导入和导出

我正在使用WebStorm 2016.2.2构建一个项目.我使用的是Node.js的6.6.0版本.我已将JavaScript版本设置为ES6,但我import和两个export关键字都出现"意外令牌"错误.我没有得到Lambda表达式BTW的错误.

为什么我会收到此错误?我做错了什么或Node不支持importexport没有Babel(即使我已经将JavaScript版本设置为ES6)?

javascript node.js webstorm ecmascript-6

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

通过MongoDB Compass社区连接到EC2

我有一个EC2实例(Ubuntu 14).我已经在其安全组中定义了端口27017,可以从任何地方访问.

我正在尝试从我的PC(Windows 10)连接到EC2实例,但收到以下错误:

MongoDB未在提供的主机和端口上运行

这是不正确的,因为我确保MongoDB正在运行.

这些是我指定的设置:

在此输入图像描述

我也试过使用SSH(也是在sercurity组中定义并通过终端运行良好),但是出现了以下错误:

创建SSH隧道时出错:(SSH)通道打开失败:连接被拒绝

这些是我指定的设置:

在此输入图像描述

ssh amazon-ec2 mongodb amazon-web-services

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

SparkSubmitOperator 部署模式

我正在使用 SparkSubmitOperator,但我没有看到 Spark 部署模式的任何等效项。如何指定是客户端还是集群?

这是 SparkSubmitOperator 构造函数的签名:

@apply_defaults
def __init__(self,
             application='',
             conf=None,
             conn_id='spark_default',
             files=None,
             py_files=None,
             archives=None,
             driver_class_path=None,
             jars=None,
             java_class=None,
             packages=None,
             exclude_packages=None,
             repositories=None,
             total_executor_cores=None,
             executor_cores=None,
             executor_memory=None,
             driver_memory=None,
             keytab=None,
             principal=None,
             proxy_user=None,
             name='airflow-spark',
             num_executors=None,
             status_poll_interval=1,
             application_args=None,
             env_vars=None,
             verbose=False,
             spark_binary="spark-submit",
             *args,
             **kwargs):
Run Code Online (Sandbox Code Playgroud)

我在谷歌上搜索了几个小时但没有找到任何东西。

python apache-spark airflow

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

git rev-parse --短头

以下命令的作用是什么?:

git rev-parse --short HEAD
Run Code Online (Sandbox Code Playgroud)

答案应包括:

  1. 一个简短而中肯的答案,解释了这个命令的整体作用
  2. rev解析的解释
  3. --short 的解释
  4. HEAD 的解释

git

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