首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缺少带browserify + babelify + tsify的TypeScript类型

缺少带browserify + babelify + tsify的TypeScript类型
EN

Stack Overflow用户
提问于 2016-10-20 11:10:22
回答 1查看 660关注 0票数 3

我正试图一步一步地将一个角JavaScript (ES5)项目迁移到TypeScript 2.0,必须承认我很挣扎。

因此,首先,我将index.js更改为index.ts,并使用安装打字机的推荐方法 (npm install --save @types/node)代替了旧的typings.json方式。

构建安装程序使用gulpbrowserify,现在按照建议的这里引入tsifybabelify

褐化

代码语言:javascript
复制
//...
.plugin(tsify)
.transform(babelify, {
      presets: ['es2015'],
      extensions: ['.ts', '.js']
})
//...

tsconfig.json

代码语言:javascript
复制
{
"files": [
    "assets/app/index.ts"
],
"compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
}
}

但是,生成失败的有:

TypeScript错误:. .tmp/public/app/index.ts(4,15):Error TS2304:无法找到名称'require‘。

tsify似乎没有将已安装的类型复制到输出dir,这将导致上述错误。

关于如何解决这个问题,有什么建议吗?

编辑

将node_modules/@types文件夹复制到我的C:驱动器的根目录可以消除错误,但是我不知道为什么.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-20 12:46:02

如果有人遇到同样的问题:

明确地在tsconfig.json中添加了tsconfig.json选项,修复了它。

代码语言:javascript
复制
"typeRoots" : ["./node_modules/@types"]

这个“应该”是默认设置,但由于某种原因,它会搜索C:驱动器root下的@types文件夹。

来自TypeScript文档:

如果指定了typesRoots,则只包含typeRoots下的包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40152768

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档