TypeScript1.8现在支持非类型化的JS文件。要启用此特性,只需添加编译器标志--allowJs或将“allowJs”:true添加到tsconfig.json中的compilerOptions中
通过https://blogs.msdn.microsoft.com/typescript/2016/01/28/uncasting-typescript-1-8-beta/
我正在尝试导入react-tap-event-plugin,它没有一个类型文件。
import * as injectTapEventPlugin from 'injectTapEventPlugin';
表示未找到模块。所以我试着:
import * as injectTapEventPlugin from '../node_modules/react-tap-event-plugin/src/injectTapEventPlugin.js';
这表示模块解析为非模块实体,不能使用此构造导入。然后我试着:
import injectTapEventPlugin = require('../node_modules/react-tap-event-plugin/src/injectTapEventPlugin.js');
由于./scripts/index.tsx中的错误而崩溃:模块生成失败:TypeError:无法读取
node_modules/typescript/lib/typescript中未定义的
属性“kind”。js:39567
我的tsconfig:
{
"compilerOptions": {
"target": "ES5",
"removeComments": true,
"jsx": "react",
"module": "commonjs",
"sourceMap": true,
"allowJs": true
},
"exclude": [
"node_modules"
]
}
我将webpack与TS-Loader一起使用:
{
test: /\.tsx?$/,
exclude: ['node_modules', 'tests'],
loader: 'ts-loader'
}
新的--allowJS特性并不意味着将为您生成类型,因此您不能
import {SomeModule} from 'something';
其中“something”是一个普通的JS文件--您必须使用普通的JS语法导入它,例如。
var someModule = require('something');
如果没有用于导入的.d.ts文件,则无法使用任何类型注释,例如。
let x: someModule
将无效。如果您想要为导入提供类型注释、智能感知和任何其他TypeScript功能,则必须为其提供一个.d.ts文件,或者为所需的位创建自己的接口。
阅读文档可以发现,这个特性主要是为将.js转换为.ts的用户提供的,这样他们就可以递增地重写他们的.js文件。此外,它还用于将外部文件与自己的代码捆绑在一起,从而节省了使用webpack或Browserify等工具捆绑/连接文件的时间。
问题内容: 我有一个Ionic应用程序,我想将节点模块angular-base64包含在我的控制器中,甚至包装在angular服务中,等等。 哪个安装了包含文件的文件夹。因此,文件的完整路径为。 但是,当我尝试像这样在我的一个控制器中使用该模块时: 我不知道我在说什么。我是否需要做其他事情才能使它起作用?也许我的东西? 问题答案: 接受的答案对于 Ionic V2 不再正确,并且已从默认安装中删除
在我简单的gradle构建中,我想使用暗影罐和ProGuard一起。我发现了一些例子,其中shadowJar任务的输出是proguard任务的输入,这很好地工作,但是在我的例子中,我希望首先创建一个小的模糊jar,首先我很好地指定库依赖关系,让proguard只关注我的代码,然后我想把它传递给shadowJar插件进行fatjar打包。 我的问题是shadowJar输出包含所有未混淆的库(fine
我查看了其他项目,如babel或react-router,其中模块被拆分为几个包,使用lerna和yarn包。所以我尝试用不同的包来构建lerna库: 我希望中的文件仅在需要时并且仅在安装了node-module时才能从中调用中的方法。但我一直没有找到解决办法。使用/和/是否可以实现这一点?还是我采取了错误的方法? 更新10月27日 因此,经过几次测试,我能够使用带有普通HTML/JS(https
有一个简单的汇总配置,像这样。 我想用rollup来构建node_模块并将它们放入捆绑包,但我得到了一个错误,jsx出现了一个错误,似乎它无法处理jsx语法,但是如果我不在babel插件中包含node_模块,它就可以正常工作。那么,使用rollup构建节点_模块的正确方法是什么?
在尝试在其他地方发布的建议后,我发现自己无法运行使用非类型化 NPM 模块的打字稿项目。下面是一个最小示例和我尝试过的步骤。 对于这个最小的例子,我们将假设 没有现有的类型定义。因此,我们将忽略包 ,并尝试手动将其类型文件 添加到我们的项目中。 文件夹结构 < li >节点模块 < ul > < li>lodash < li>foo.ts 自定义 洛达什.d.ts 接下来是文件。 文件 文件直接从
我有如下代码: 我如何设置标题?我需要用户代理、内容类型,可能还有其他一些东西在标题中: 我尝试了多种方法,但我可以发送标题或表单数据,但未能同时发送这两种数据。