问题标签 [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 投票
0 回答
47 浏览

javascript - 无法将 TypeScript 服务添加到 Angular 1.X 应用程序

hello-world.ts在 Angular 1.X 应用程序中创建了一个名为 TypeScript 的服务。它看起来像这样:

我正在使用以下内容导入它:

当我在上面的代码片段中将导入的内容传递HelloWorld给 console.log() 时,当我应该期待一个函数时,我得到一个空对象。

以下是我相关的 gulpfile 配置:

我还尝试了以下方法:

Gulp watchify 完成时没有错误,但我的浏览器会生成错误angular.js:13920 Error: [ng:areq] Argument 'fn' is not a function, got Object

正如我之前所写,当我从 hello-world.ts 导入 HelloWorld 类时,我没有看到预期值。相反,我得到一个空对象。到底是怎么回事?

编辑:

这里是browserify/tsify生成的源码。也许这为我的 gulp / browserify / tsify 环境中可能出现的问题提供了线索?

0 投票
1 回答
575 浏览

angular - 使用 angular2 和 browserify 分离供应商和应用程序包 - 导入错误

我正在开发一个我想使用 gulp 和 browserify 构建的 angular2 应用程序。
使用tsify,我设法输出了一个独立bundle.js的,缩小后的大小为 1.4M。

我想要的是两个单独的捆绑文件:一个用于供应商依赖项,一个用于我的应用程序

基本上我希望能做到这一点:

这是我在命令行上尝试的:

  1. 我生成了第一个包:

    /li>

我的 vendor.ts 文件只是一个导入列表:

  1. 然后我创建了我的第二个包:

    /li>

我的tsconfig.json文件看起来像这样(它位于当前目录中):

好的部分:第二个包只包含我的应用程序,而且要小得多!
不太好的部分:它不起作用。我是我得到的浏览器Uncaught Error: Cannot find module '@angular/core'

关于问题:

  • 我有什么明显的遗漏吗?
  • require加载后如何查看可用的模块bundle_vendors.js?我正在寻找“导出”的模块列表,以便其他包可以导入它们。

我不知道从哪里开始调试它。

从我读到的另一种选择是使用 angular-cli(它使用 webpack),但我从事的项目已经使用 gulp,所以我想让它工作。另外,我现在有点承诺。

任何帮助表示赞赏!

0 投票
1 回答
957 浏览

typescript - tsify - 只读取 browserify 文件

我正在使用tsify构建我的 TypeScript 文件。但是,目前似乎tsify正在读取我的源代码中的所有 TypeScript 文件,而不仅仅是我的主要 TypeScript 文件中包含的文件(以及随后导入的文件)。我如何限制tsify只提供给的文件browserify

吞咽任务:

和 tsconfig.json:

0 投票
2 回答
293 浏览

angular - 当我捆绑我的 Angular 2 应用程序时 this._nativeError 未定义

我正在使用gulp,browserifytsify捆绑我的应用程序,并将 browserify 指向该main.ts文件。这就是我捆绑应用程序所做的一切。但是,当我尝试运行index.html导入了捆绑的 js 文件的文件时,出现错误:this._nativeError is undefined出现空白屏幕。

我的tsconfig.json

我的吞咽任务:

吞咽任务

0 投票
1 回答
2160 浏览

angularjs - 如何解决 ParseError:导入 UpgradeAdapter 时,“import”和“export”可能只出现在“sourceType:module”中?

我正在尝试按照https://angular.io/docs/ts/latest/guide/upgrade.html将现有的 anguar.js 应用程序升级到 angular 2 。

该应用程序已经使用 Typescript 编写,我们正在使用 browserify 和 tsify 来编译和捆绑该应用程序。

使用 npm 安装 angular 2 依赖项并尝试引导混合应用程序后,browserify 给我以下错误:

该错误仅在添加以下代码后出现:

这是我的tsconfig.json

任何帮助将不胜感激。

0 投票
1 回答
1055 浏览

typescript - 如何在多个入口文件上使用Browserify + Watchify + Tsify + Gulp快速获取多个输出文件

我一直在尝试使用 Gulp + Browserify + Tsify 将 4 个文件及其库转换为 4 个 js 文件,目前需要 4 或 5 秒。

在我当前的构建脚本中,watchify 会触发对所有 4 个构建管道的任何 ts 文件的更改的更新,每个构建管道都会对项目中的每个 ts 文件进行转换,即使它没有在该管道中使用。

目前我正在寻找一种更好更快的方法来完成这项工作。

0 投票
1 回答
95 浏览

typescript - 打字稿通用函数和索引参数

我有以下内容package.json

以下tsconfig.json

文件src/evets.d.ts

最后入口点src/index.js

构建纯打字稿版本的作品。所以命令npm run build:tsc完美运行,但尝试使用 browserify 构建,所以调用npm run build:browser我得到以下错误:

似乎 browserify 无法正确使用带 d.ts扩展名的类型定义文件。


上面的示例在两种情况下有效:

  1. index.ts我像这样导入时:(import * as events from './events.d;注意结尾.d

  2. 当我删除该console.log(events);行(?!) - 它如何使用events.***类型但不能使用整个集合(别名)?


我认为我在这里错过了一些愚蠢的东西,但我缺乏想法。

0 投票
1 回答
732 浏览

node.js - babelify 转换未运行

我无法让 babelify 在我的代码上运行。

我有两个打字稿文件:

脚本1.ts

脚本2.ts

.babelrc

我正在尝试使用 tsify 和 babelify 运行 browserify:

这些文件被编译和打包,但它从来没有在代码上运行 babelify,我最终得到的输出仍然包含类和模板字符串。

如果我单独运行 babel,它会按预期工作:

我在这里缺少什么步骤?

0 投票
0 回答
1265 浏览

angular - 根据父文件夹(而不是单独)在模块中注册 Angular 4 组件

我最近开始将一个项目从 1.6 迁移到新的 Angular 4(以及迁移到 Typescript)。

我有一个 gulp + watchify/browserify + tisfy 的配置,在更改时会自动将它们添加到单个包中,该包被导入到 html 文件中。

在旧项目中,我使用了require-globify,因此我不需要单独要求项目中的每个控制器,而是需要整个文件夹(基于功能),然后当我将控制器添加到该功能时,它们会自动添加到对应的模块。

是否可以在新的 Angular(使用 Typescript 2)中类似地实现。从现在看来,require 在 Typescript 中不起作用,tsify 将常规导入视为 require 语句,如下所示:

我不认为随着项目的发展手动注册组件(和子组件!)是可维护的(欢迎告诉我为什么我错了)。

如何导入整个文件夹并将它们注册为模块的组件?这样的事情会很棒(如果可行哈哈):

0 投票
0 回答
231 浏览

typescript - Watchify + tsify + Visual Studio == 陈旧代码

我们在 Visual Studio (2015) 中运行 Gulp 任务来执行 watchify。有时效果很好,但有时 watchify 会构建旧代码。

复制:

  • 在 Visual Studio 中修改 .ts 文件
  • 节省
  • 在 Task Runner Explorer 中,观察 watchify 输出,表明它运行(它确实)
  • 刷新 Chrome/清除缓存(我在 Chrome 中使用“调试窗口打开时禁用缓存”选项)
  • 在 Chrome 调试器中查看源代码(不到一半的时间,会是旧代码)

知道我需要寻找什么吗?请注意,如果我执行完整的 browserify 构建,Chrome 总是会看到新代码——这种陈旧问题仅在 Watchify 混合使用时才会发生。