我使用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.任何帮助是极大的赞赏!
我是IntelliJ插件开发的新手,想知道如何从插件中的命令行执行命令.
我想在当前项目根目录中调用命令"gulp".
我已经尝试过了
Runtime.getRuntime().exec(commands);
Run Code Online (Sandbox Code Playgroud)
使用像"cd C:\ Users\User\MyProject"和"gulp"这样的命令,但它似乎没有那样工作,我想,如果插件API提供了一个更简单的方法.
非常感谢你.:-)