Tag: typescript

在node.js上使用systemjs(&Angular 2)

说我有一个foo.ts和app.ts如下: foo.ts: export interface Foo { id: number; label: string; }; app.ts: import {Foo} from './foo' var myfoo: Foo = { "id": 1, "label": "One" }; console.log(JSON.stringify(myfoo)); 在编译之后,如果我在我的tsconfig.json使用"module"="commonjs" ,那么从命令行执行'node app.js'将按预期运行。 切换到追逐,我想要做的是使用我的Foo接口客户端与Angular 2,服务器端与节点。 不方便的是,我在这里build模的Angular 2 quickstart在tsconfig.json "module"="system" 。 尝试运行'node app.js'时,此configuration会导致错误: System.register([], function(exports_1) { ^ ReferenceError: System is not defined` 我已经尝试按照说明在github上使用systemjs与节点,但在这一点上,我只是糖化键,可以使用一些帮助。 我怎么(a)让我的app.ts代码运行在服务器端使用systemjs,或者(b)得到运行commonjs的Angular 2快速启动?

build立:找不到模块OurFirstAppWithFVisualStudio.module.scss

我正在使用NodeJS工具为Visual Studio构build一个SPF应用程序,如下所示: https://github.com/SharePoint/sp-dev-docs/wiki/Working-with-visual-studio 但是在做完所有步骤之后,我有这个错误 严重级代码说明项目文件行抑制状态错误构build:找不到模块“./OurFirstAppWithFVisualStudio.module.scss”。 NodejsApp1 E:\ GoogleDrive \ Labs \ SPF \ OurFirstSPFAppWithVisualStudio \ src \ webparts \ ourFirstAppWithFVisualStudio \ OurFirstAppWithFVisualStudioWebPart.ts 8 当我检查解决scheme时,我注意到.scss文件被排除在解决scheme之外,所以我的第一个操作是将其包含在项目中。 但是,这没有任何影响。

Webpack和TypeScript:无法parsingnode.d.ts中的模块“child_process”

我试图让webpack,typescript和react.js通过awesome- typescript -loader一起工作,但是我经常得到错误。 我在版本0.3.0-rc.2和webpack 1.8.9上使用了很棒的打字机加载器 这是我的webpack.config.js: module.exports = { entry: './ui/index.ts', output: { path: __dirname + '/build-ui', filename: 'app.js', publicPath: 'http://localhost:8090/assets' }, module: { loaders: [ { test: /\.jsx$/, loader: 'jsx-loader?insertPragma=React.DOM&harmony' }, { test: /\.css$/, loader: "style-loader!css-loader" }, { test: /\.scss$/, loader: "style-loader!css-loader!sass-loader" }, { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192' }, { test: /\.ts$/, loader: 'awesome-typescript-loader' […]

Angular2:并发不被识别为内部或外部命令

当使用npm start运行server2 for angular2时出现错误,说明并发不能被识别为内部或外部命令,为什么会发生这种types的错误 这里是package.json: { "name": "contactlistapp", "version": "1.0.0", "description": "The app", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "tsc": "./node_modules/.bin/tsc", "tsc:w": "./node_modules/.bin/tsc -w", "serve": "./node_modules/.bin/live-server –host=localhost –port=3000 .", "start": "concurrent \"npm run tsc:w\" \"npm run serve\" " }, "author": "Sarah", "license": "ISC", "dependencies": { "express": "^4.13.3", "angular2": "2.0.0-beta.0", "systemjs": […]

TypeScript不会parsing外部模块(node.js)

我想在我的节点应用程序中使用moment.js,所以我使用节点的包pipe理器npm安装了moment.js: npm install moment@2.4.0 只是为了安全起见,我检查了时间没有安装在全球,安装的版本是真正的版本2.4.0(版本2.4.0为了使用正确的d.ts文件…) require("moment").version 好吧,似乎是好的。 我也使用最新版本的TypeScript(0.9.5)。 所以,现在我将下面的文件添加到我的项目根目录https://github.com/borisyankov/DefinitelyTyped/blob/master/moment/moment.d.ts并引用该文件: /// <reference path="moment.d.ts" /> 现在,它应该使用TypeScripts导入关键字: import m = require("moment"); 用下面的命令编译 tsc app.ts –module commonjs 产生以下错误 /home/unknown/temp/test/app.ts(3,1):错误TS2071:无法parsing外部模块的“时刻”。 /home/unknown/temp/test/app.ts(3,1):错误TS2072:模块不能被别名为非模块types。 为什么会发生这种错误? 我如何解决它?

dependency injection库 – 重命名注入的值

我想按名称注入lodash,如下所示: let val = function(lodash){ // lodash will be injected, simply by using require('lodash'); }; 但是说我想重命名导入,我想要做这样的事情: let val = function({lodash:_}){ }; 要么 let val = function(lodash as _){ }; 有没有办法做到这一点与ES6 / ES7 / ES8或TypeScript? 请注意,这个DI框架比只需要('x')做更多的工作…它将尝试注入其他值首先,如果没有其他的存在,那么它将尝试要求的价值。 还要注意,这里的要求是,当你调用val.toString()时,“lodash”将被视为参数名称。 但是在函数体内的运行时会看到_而不是lodash。 这是因为为了注入lodash,我们调用fn.toString()来获取参数名称。

如何使用gulp在不同的文件中创buildTypescript源代码,而不是在JavaScript文件中?

我有一个项目,我正在使用gulp。 我想打字稿文件转换为JavaScript,并有源地图也。 这是我现在所拥有的: var sourcemaps = require('gulp-sourcemaps'); var typescript = require('gulp-typescript'); gulp.task('typescript', function () { gulp.src('app/**/*.ts') .pipe(typescript()) .pipe(sourcemaps.init()) .pipe(sourcemaps.write()) .pipe(gulp.dest('app')) }); 这部分工作,但源代码都出现在JavaScript内部。 任何人都可以告诉我,我可以如何使它为每个JavaScript创build一个源代码文件,而不是有地图里面?

包装许多内部模块输出打字稿

我正在查看在节点内使用打字稿,目前我习惯通过纯粹使用内部模块的///<reference…/>语法来使用打字稿。 但是,对于较大的项目,这可能会变得笨重,因为您可以使用引用其他模块的模块来引用相关链接。 因此,对于这个节点项目,我正在考虑尝试将所有逻辑组件作为内部模块/类进行分组,所以它们将全部在内部互相引用,而通过一个外部模块公开它们,从而暴露底层类等。 这种方式的语法将非常类似现有的需要机制的节点,如: import database = require("my-external-db-module.ts"); var connection = new database.Connection(someUrl); 而不是 ///<reference path="my-internal-db-modules.ts" /> var connection = new Database.Connection(someUrl); 我想象的语法是这样的: ///<reference path="all-my-internal-module-files-etc.ts" /> ///<reference path="…" /> export module SomeExposingModule { // Not quite sure what to put in here to expose the internal modules } 那么,围绕这类事情或其他任何类似的事情有什么最好的做法,或者每个人都坚持使用内部模块来做复杂的事情吗?

从gulp任务运行一个npm脚本

如何在gulp任务中运行npm脚本命令? 的package.json "scripts": { "tsc": "tsc -w" } gulpfile.js gulp.task('compile:app', function(){ return gulp.src('src/**/*.ts') .pipe(/*npm run tsc*/) .pipe(gulp.dest('./dist')) .pipe(connect.reload()); }); 我想这样做是因为运行npm run tsc不会给我任何错误,但是如果我使用gulp-typescript编译.ts那么我会得到一堆错误。

TypeScript:我可以导入一个文件夹而不必写一个index.ts文件吗?

如果一个项目的大多数目录包含不超过2-3个TypeScript文件,并且在导入其他地方的包含目录时应该可以访问它们的所有导出,则会导致大量的index.ts文件具有可预测的内容。 例 目录: my-component my-component-config.ts my-component.ts index.ts index.ts包含什么? 当然,它包含 export * from "./my-component-config" export * from "./my-component" 这是显而易见的。 对于10个组件目录,这意味着:10 index.ts包含100%冗余信息的index.ts文件。 我怎样才能使TypeScript(/节点)隐式创buildindex.ts文件,不需要存储在硬盘上?