问题标签 [tsify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
900 浏览

typescript - 如何指定tsify的打字路径?

我在路径中有我的打字稿源:

tsconfig.json 位于:

并输入:

我可以通过以下方式很好地运行 tsc:

src/game/ts/typings/**/*.d.ts但是我使用这个命令得到未定义的类型错误(对于文件中声明的类型):

为什么 tsc 不接受定义?我的 tsconfig.json 包含:

0 投票
1 回答
227 浏览

typescript - Browserify、Babel 和文件扩展名

我正在使用 Browserify、Babel、gulp 并注意到一个奇怪的行为。

假设我有一个名为“./lib.js”的文件。是 ES6,我应该可以同时使用这两种语法:

然而,第一种语法总是有效的,但对于某些模块,第二种则无效。我得到的是一个空对象,而不是我的导出对象。

无论我们是否包含扩展,browserify 的行为是否不同?它对我们应该如何申报出口有额外的限制吗?

实际上这是一个问题,因为我最近tsify在我的项目中添加了 Typescript。出于某种原因,当我导入从 typescript 编译的文件时,我必须指定.js扩展名(没有它就无法工作)。.ts但是当我从另一个文件导入文件时.ts,我不想指定扩展名,因为我希望 Typescript 拾取.ts文件(当我不指定扩展名时它会这样做)并 Browserify 拾取编译的 js 文件(它也这样做但无法识别模块)。

0 投票
1 回答
1472 浏览

javascript - 编译后命名空间未定义

我正在用打字稿编写一个小游戏引擎,当我将其编译为 javascript 时,运行 javascript 时出现错误。它编译也没有错误。

我的主入口文件(main.ts)以这两行开头:

它构建得很好,但是当我运行它时,第二个 require 有一些问题并给出了这个错误:

Uncaught TypeError: Class extends value undefined is not a function or null

核心/对象.ts

核心/组件.ts

然后编译后,它看起来像这样:

这是我正在运行的 gulp 任务:

0 投票
1 回答
359 浏览

browserify - 如何在 browserify 中设置模块的 require() 调用中使用的模块名称或路径?

我正在使用 browserify 将可重用的打字稿模块移动到使用 gulp 的浏览器中。

令我惊讶的是,我需要通过包含生成的 common.js 文件

在打字稿或使用 UMD + require JS 的构建中,我需要使用相对路径的文件,而代码完全相同。在我添加 browserify 的那一刻,我得到了绝对路径。我尝试自己编译 typescript 并在没有 tsify 的情况下使用 browserify,但它总是需要一个绝对路径来包含它。所有其他需要 common.js 的模块都将找不到它。我怎样才能解决这个问题?

编辑:示例在 html 文件中的外观:

0 投票
1 回答
220 浏览

javascript - 在 browserify 因子包中使用 proxyquire

坚持这个。

我正在使用laravel elxirtsify来生成我的 js。我通过 factor-bundle 运行 typescript 以将常见的 js 模块拆分为单独的文件。我认为在这种情况下这不会成为问题,因为一切都在 spec.js 中

规格

工厂小部件/index.ts

工厂小部件/test.ts

浏览器服务.ts

在第 262 行出现错误Uncaught TypeError: require.resolve is not a function

这是代码(是的,它超过 20,000 行)您还应该如何调试这些东西。¯_(ツ)_/¯

用 proxyquire 看过 Stubbing。我没有屏住呼吸来回答这个问题。

编辑:06-09-2016 Proxquire 需要覆盖 WidgetFactory 类的 boot 方法中的 require 调用

在工厂小部件/index.ts 中:

0 投票
1 回答
260 浏览

angularjs - Angular、Karma、tsify、麻烦

我正在尝试设置测试,我们使用 Angular 1.5、TSify 和 Karma。我非常接近,但我遇到了一个我不太正确的问题:

我正在遵循此处描述的设置:https ://github.com/cmlenz/tsify-test (此示例不包括角度)

我从 angular-mocks 收到一个错误:“无法设置未定义的属性 'mock'”

这必须是时间问题或范围问题 - 角度模拟加载得太快,或者浏览器正在包装角度变量的范围,而模拟看不到它。不知道。

以下是我的 karma.conf.js 文件的相关部分:

这一定与我加载模拟的方式有关——我的角度应用程序不使用它,只是测试,所以这一定与它有关。

有什么提示吗?

0 投票
1 回答
5399 浏览

typescript - 在 karma 中使用“tsify”启用“对装饰器的实验性支持”

我正在使用 tsify,一个 browserify 插件,在业力单元测试期间转换我的代码。

运行测试时出现这种错误:

TypeScript 错误:src/app/emailLogin/emailLogin.component.ts(14,14):错误 TS1219:对装饰器的实验性支持是一项可能在未来版本中更改的功能。设置“experimentalDecorators”选项以删除此警告。

如何在我的 karma.config.js 中指定的 browserify/tsify 中启用实验装饰器

这是我的 karma.config.js:

这是我的 gulp 文件(我认为这没关系)

0 投票
1 回答
603 浏览

typescript - 使用 browserify + babelify + tsify 缺少 TypeScript 类型

我正在尝试将 Angular JavaScript (ES5) 项目逐步迁移到 TypeScript 2.0,并且必须承认我非常挣扎。
所以首先我将 index.js 更改为 index.ts 并使用推荐的安装 typings ( npm install --save @types/node) 的方法而不是旧的 typings.json 方式。

构建设置使用gulpwith browserify,现在引入tsify和 ,babelify正如这里所建议的那样。

浏览器化

tsconfig.json

但是构建失败:

TypeScript 错误:.tmp/public/app/index.ts(4,15):错误 TS2304:找不到名称“require”。

tsify似乎没有将安装的类型复制到输出目录,这会导致上述错误。
关于如何解决问题的任何建议?

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

0 投票
1 回答
1686 浏览

gruntjs - 如何设置 grunt + browserify + tsify + babelify?

我正在努力设置 grunt + browserify + tsify + babelify (带调试)。

下面的 gruntfile 设置确实编译了 typescript,但没有发生 babel 转换。

任何人都可以让我知道如何做到这一点?(我可能需要使用 gulp 来做到这一点??)

tsconfig.json 的目标设置为“es2015”。

0 投票
0 回答
1421 浏览

typescript - 如何将类型化属性添加到模块中的窗口对象?

我目前有一个文件main.ts,其代码如下:

这工作正常,但我试图在一个单独的文件中获取 Window 类型以避免代码重复。我目前的尝试如下所示:

和:

这给了我一个Error TS2339: Property 'throttleScreenResizeRender' does not exist on type 'Window'.关于编译的信息。

我正在使用 Typescript 2.0.3 版

我怎样才能做到这一点?

编辑

如手册所示,我正在将 Browserify 与 tsify 一起使用。这是我的 gulp 文件:

相关packages.json