小编Ric*_*wig的帖子

TypeScript - 将模块/命名空间附加到窗口

我使用ES2015构建了很多API和应用程序,但我还没有习惯TypeScript中的最佳实践,所以也许你可以帮助我.假设我正在为商店构建API/SDK.目标是用户包含我的js文件并通过window对象访问商店及其名称空间,就像使用angular和其他lib一样.

window.shop.init();
window.shop.cart.get();
window.shop.cart.set();
window.shop.cart.clear();
Run Code Online (Sandbox Code Playgroud)

在ECMAScript的2015年,我会写我的方法一样get,并set在我的主文件导入和扩展店铺对象,最后是全局对象.

// in my cart.js namespace file
export {get} from './get';

// in my shop.js
import * as cart from './cart';

global.shop = {
    cart
}
Run Code Online (Sandbox Code Playgroud)

作为ES2015中命名空间的一个好方法,在具有所有模块和命名空间关键字的TypeScript中感觉有点不对劲.

我基本上想要在TS中实现相同的目标.我尝试了以下的事情,但没有成功.

module shop {
    export const cart = {...}
}

(<any>window).shop = shop;
Run Code Online (Sandbox Code Playgroud)

要么

namespace shop {
    // ...
}

(<any>window).shop = shop;
Run Code Online (Sandbox Code Playgroud)

有些教程声称模块会自动附加到全局/窗口对象,但这并没有发生在我身上.

我正在使用TypeScript 1.8.10.任何帮助是极大的赞赏!

javascript module typescript typescript1.8

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

IntelliJ插件 - 运行控制台命令

我是IntelliJ插件开发的新手,想知道如何从插件中的命令行执行命令.

我想在当前项目根目录中调用命令"gulp".

我已经尝试过了

Runtime.getRuntime().exec(commands);
Run Code Online (Sandbox Code Playgroud)

使用像"cd C:\ Users\User\MyProject"和"gulp"这样的命令,但它似乎没有那样工作,我想,如果插件API提供了一个更简单的方法.

非常感谢你.:-)

java console intellij-idea intellij-plugin

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