作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 gulp-typescript 将 typescript 文件转换为 js。
好像没翻译。
吞下文件:
var ts = require('gulp-typescript');
gulp.task('tsToJs', function () {
return gulp.src('./config.ts')
.pipe(ts({
moduleResolution: 'node',
target:'es5',
allowJs:true
//out: 'config.js'
}))
.pipe(gulp.dest('./'));
});
配置.ts:
class Config{
env:{
readonly live: '.co.uk',
readonly dev: '.dev.co.uk',
readonly qa: 'qa.co.uk'
};
};
export = new Config;
似乎被转换成这样:(类内数据丢失了?)conf.js:
"use strict";
var Config = (function () {
function Config() {
}
return Config;
}());
;
module.exports = new Config;
最佳答案
您将 env
属性声明为匿名类型,而不是使用具有属性的对象对其进行初始化。将 :
更改为 =
:
class Config{
env = {
// ^-------------------------------------- here
readonly live: '.co.uk',
readonly dev: '.dev.co.uk',
readonly qa: 'qa.co.uk'
};
}
但请注意,the playground says你不能在那里使用readonly
。我在 TypeScript 手册中找不到任何在简单对象属性上使用 readonly
的示例。 (尽管从概念上讲这是合理的。)您可能需要更守旧一点:
class Config{
env = Object.create(Object.prototype, {
live: {value: '.co.uk', enumerable: true, configurable: true},
dev: {value: '.dev.co.uk', enumerable: true, configurable: true},
qa: {value: 'qa.co.uk', enumerable: true, configurable: true}
});
}
(当然,如果您不希望属性可枚举或可配置,则将其保留。它们将不可写,因为所有这些标志的默认值为 false
.)
旁注:由于这是一个声明,而不是表达式,因此后面没有 ;
。 ;
是语句终止符;声明是自动终止的。
关于javascript - 为什么我的 typescript 文件无法使用 gulp typescript 正确生成为 js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42021293/
我有一个像这样的结构: struct S { data: i32, fun: Box, } 并希望使用编码器序列化数据部分。为此,我使用 rustc_serialize 并推导出它的特
我在 tomcat 中使用基于表单的身份验证,实际上我使用的是 j_security_check。代码如下 Login to the Tomcat-Demo applic
我是一名优秀的程序员,十分优秀!