问题描述
在Definitely Typed存储库中,我看到了一堆没有引号的环境模块声明,例如:
[shagen@shabunc-MBP DefinitelyTyped (master)]$ ag "declare module [^\'\"]" | head
types/lockr/index.d.ts:8:declare module lockr {
types/nes/index.d.ts:44:declare module nes {
types/swig/index.d.ts:38:export declare module lexer {
types/swig/index.d.ts:103:export declare module parser {
types/swig/index.d.ts:128:export declare module loaders {
types/fibjs/declare/iconv.d.ts:197:declare module __iconv {
types/fibjs/declare/bson.d.ts:197:declare module __bson {
types/lokijs/index.d.ts:2027:declare module LokiConstructor {
types/angular-deferred-bootstrap/index.d.ts:11:declare module angular {
我的理解是,尽管像declare module something
这样的声明不等同于declare modules "something"
。例如,此代码将无法编译(它将因error TS2305: Module '"fs"' has no exported member 'ping'.
而失败):
declare module fs {
function ping(): boolean;
}
import {ping} from "fs";
ping();
添加引号会有所帮助:
declare module "fs" {
function ping(): boolean;
}
import {ping} from "fs";
ping();
我没有在文档中找到任何恰当的解释,它们使用的是“声明模块name_without_quites”类型的声明-看来我的理解还不完善。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)