Dav*_*vre 5 typescript typescript1.5
我有React类型定义文件(使用外部模块声明).在我的源文件中,我通常会这样做:
import * as R from "react"
Run Code Online (Sandbox Code Playgroud)
然后可以R.createElement(...以强烈的方式愉快地使用等.
我想要的是不必R在每个文件中导入,而是将其作为全局声明(是的,我愿意用一些变量来规划全局命名空间).我试过了:
import * as React from "react";
declare var R : React;
Run Code Online (Sandbox Code Playgroud)
这不起作用,我明白了"Cannot find name 'React'".有没有其他方法可以将整个模块导出为全局模块?
编辑1 - 我应该更清楚:我对如何在文件中导出全局类型定义感兴趣.d.ts.所以假设我已经R加入window了.现在我需要打字稿来知道它R是类型的React module.
相反,将其作为全局的
这有两个方面:global type declaration对于打字稿和global variable availability用于 JavaScript 消耗。
如果文件中没有根级别导入或导出,则A或 a 声明仅对全局.d.ts名称声明空间有贡献。因此,有一个文件,该文件将是https://github.com/borisyankov/DefinitelyTyped/blob/master/react/react.d.ts形式的编辑版本(而不是)。globalreact.d.tsdeclare module Rdeclare module "react"
window如果是浏览器,则需要将其打开。因此,在文件中执行以下操作makeReactGlobal.ts:
var R = require('react');
(<any>window).R = R
Run Code Online (Sandbox Code Playgroud)
然后在您的应用程序中main具有此文件的依赖项,以确保它在任何其他代码之前执行。
| 归档时间: |
|
| 查看次数: |
12397 次 |
| 最近记录: |