【发布时间】:2016-11-07 15:51:13
【问题描述】:
错误
我收到此打字稿错误:
错误 TS2403:后续变量声明必须具有相同的类型。变量'environment'必须是'string'类型,但这里有'any'类型。
代码
package.json
...
"typescript": "^1.8.10",
...
server.ts
var environment = require('./config/config.js')()
./config/config.ts
module.exports = function(): string {
//Environment
let env:string = process.env.NODE_ENV || 'development'
return env
}
问题:
我需要做什么,才能获得识别为string的函数的返回值?
编辑
tsconfig
{
"compilerOptions": {
"target": "ES5",
"module": "system",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"removeComments": false,
"noImplicitAny": true,
"suppressImplicitAnyIndexErrors": true
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
]
}
节点的安装
我添加了一个typings.json
{
"globalDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160602141332",
"jasmine": "registry:dt/jasmine#2.2.0+20160621224255",
"node": "registry:dt/node#6.0.0+20160621231320"
}
}
我记得使用tsd install。我有一个名为typings 的文件夹,在该文件夹中是另一个名为node 的文件夹,带有index.d.ts。我认为这与node.d.ts?
编辑 2
前端 (angularjs) 和后端 (nodejs) 的 gulp
const gulp = require('gulp');
const gutil = require('gulp-util');
const paths = gulp.paths;
var $ = require('gulp-load-plugins')();
const tscConfig = require('../tsconfig.json');
gulp.task('scripts-frontend', function () {
gulp.src(paths.src + '/systemjs.config.js')
.pipe(gulp.dest(paths.out + '/'));
return gulp.src([paths.src + '/frontend/**/*.ts', paths.typings + '/**/*', '!' + paths.src + '/**/*.spec.ts'])
.pipe($.sourcemaps.init())
.pipe($.typescript(tscConfig.compilerOptions))
.pipe($.sourcemaps.write('.'))
.pipe(gulp.dest(paths.out + '/frontend/'));
});
gulp.task('scripts-backend', function () {
return gulp.src([paths.src + '/backend/**/*.ts', paths.typings + '/**/*', paths.src + '/server.ts', '!' + paths.src + '/**/*.spec.ts'])
.pipe($.sourcemaps.init())
.pipe($.typescript(tscConfig.compilerOptions))
.pipe($.sourcemaps.write('.'))
.pipe(gulp.dest(paths.out + '/backend/'));
});
【问题讨论】:
-
你能添加你的 tsconfig.json 吗?你是怎么安装
node.d.ts的? -
我无法复制此错误。我用
typings1.0.4和1.3.1安装了这些类型。使用typescript@1.8.10构建我没有错误。在 VSCode 1.2.1 Windows 上也没有错误...您的typings版本是什么?尝试更新它也许...... -
@AndiGiga,我猜
config.ts文件函数可能是fat arraow。还有,let env:any = process.env.NODE_ENV || 'development'
标签: typescript