0
ノードv6.8.0、TypeScript v2.0.3、gulp v3.9.1、およびgulp-typescript v3.0.2を使用しています。私がうんざりしてビルドすると、私はエラーになります。ここで名前空間について不平を言うTypescript
は私のコードここ
/// <reference path="../_all.d.ts" />
'use strict';
import * as Pool from '~mysql/lib/Pool';
import * as mysql from 'mysql';
import * as conf from '../config/config';
class DbConnection {
public pool: Pool;
public static bootstrap(): DbConnection {
return new DbConnection();
}
constructor() {
const setting: conf.Setting = (new conf.Config()).config();
this.pool = mysql.createPool({
connectionLimit: 10,
host: setting.infiniDbHost,
user: setting.infiniDbUser,
password: setting.infiniDbPassword,
debug: false
});
}
}
const dbConnection: DbConnection = DbConnection.bootstrap();
export default dbConnection.pool;
である私が取得エラーです:ここでは
[11:21:07] Using gulpfile ~/Repos/git/WdAnalytics/gulpfile.js
[11:21:07] Starting 'clean'...
[11:21:07] Finished 'clean' after 21 ms
[11:21:07] Starting 'default'...
src/data/infiniDbConnection.ts(28,16): error TS2503: Cannot find namespace 'dbConnection'.
[11:21:08] TypeScript: 1 semantic error
[11:21:08] TypeScript: 2 emit errors
[11:21:08] TypeScript: emit failed
[11:21:08] Finished 'default' after 1.38 s
は私gulpfile.js
var gulp = require('gulp');
var ts = require('gulp-typescript');
var clean = require('gulp-clean');
var src = ['src/**/*.ts', '!src/_all.d.ts'];
gulp.task('default', ['clean'], function() {
return gulp.src(src)
.pipe(ts({
noImplicitAny: true,
noEmitOnError: true
}))
.pipe(gulp.dest('dist/.'))
;
});
gulp.task('clean', function() {
return gulp.src('dist/.', {read: false})
.pipe(clean())
;
});
である私はなぜ把握することはできません明らかにオブジェクトである場合、dbConnectionは名前空間であると考えています。
これは悪い習慣です。 'noEmitOnError'は単にエラーに関係なくビルドを行います。 TypeScriptのポイントは、静的型の問題がある場合はコードを構築できないことです。 –