问题标签 [ts-loader]

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 投票
1 回答
497 浏览

unit-testing - 如何在 webpack 项目中使用测试运行器对 TypeScript 文件进行单元测试

我有以下设置:

  1. 使用 webpack 和 ts-loader 构建过程
  2. 想要使用 Karma 等测试运行器对 TS 文件进行单元测试

如何在这个 webpack 项目中使用测试运行器对 TypeScript 文件进行最佳单元测试?对我来说,如何用 js 项目做到这一点很明显,但需要一个经过验证的工作流程来应对这种情况。

0 投票
0 回答
721 浏览

node.js - 排除 node_modules 时 Webpack/TypeScript 引发错误

我有以下 Webpack 和 TypeScript 配置:

webpack.config.js

tsconfig.json

我已将项目简化为仅包含以下依赖项:

package.json(部分)

当我运行 Webpack 时,我得到了大量的错误:

在此处输入图像描述

该列表适用于许多屏幕长度,但据我滚动的每一个都是.d.ts文件中的重复标识符错误。

这些错误的原因是什么?

我在 Stack 和整个网络上都看到了几个类似的问题,但似乎没有发生在只有 TypeScript 的项目中(它们都有其他具有定义文件的模块)。

从我收集到的信息来看,这可能与我对 的使用有关"module": "commonJS",但是

  1. 这表明 TypeScript 不是为与 commonJS 模块一起工作而编写的
  2. 我已经尝试过所有其他模块类型但没有成功

排除node_modulesintsconfig.json可以解决问题,但会导致无法在 .ts 文件中找到已安装的模块。

0 投票
1 回答
222 浏览

typescript - npm 发布 TypeScript 模块支持 es6 消费?

有没有办法让 npm 模块发布支持 es6 模块使用的类型?

我正在尝试基于https://github.com/onybo/webpack-react-typescript-demo创建一个新项目,该项目执行 babel|ts 并按原样正常工作。我制作的 npm 模块是基于 basarat 的 ts-npm-module / ts-npm-module-consume repos 并且对于 commonjs 似乎工作正常,但是当编译器模块选项从 commonjs 更改为 es6 时,它再也找不到模块. 正如 basarat 在他的 repos 中提到的那样,atom-typescript 工作正常(F6 构建)但 ts-loader 不能,tsc(1.7.5 和 nightly)和 ntsc 也给出了同样的错误。

作为演示项目的差异(尝试使用 basarat 的模块)的最小复制是https://github.com/jamesmanning/webpack-react-typescript-demo/commit/519fb9013065a3125742be804b20703e42d747bb和作为 basarat 消耗模块的差异的最小复制是https ://github.com/jamesmanning/ts-npm-module-consume/commit/70706e3280c2ce4cca04f7f8accbc22b5ba5284c

npm 模块的 package.json 中的“typings”条目对于 atom-typescript 来说似乎已经足够了,但是我怎样才能让 ts-loader 也使用它(或者我可以改变什么来让 ts-loader 看到模块?)

谢谢!

0 投票
0 回答
379 浏览

webpack - 我的 WebpackPlugin “完成”事件不断被触发

我正在尝试编写自己的 WebpackPlugin。它工作得很好(它移动了一些生成的文件,然后将它们组合起来)。

它监听 webpack 编译器的 'done' 事件。但是会发生以下情况:

  • 该事件在成功构建后触发一次
  • 在我引入代码错误后触发事件一次
  • 删除错误后,事件不断被触发

我使用的唯一加载器是ts-loader。这是我应该通过挖掘装载机寻求解决方案的正常行为吗?

我试图找到一个不同的事件,但emit发生了完全相同的事情。此外,我正在尝试调查 stats 中的信息,看看我是否可以检测到没有创建新的资产或文件,但似乎还找不到。

有小费吗?

0 投票
2 回答
5241 浏览

webpack - 带有 Angular2 打字稿的 webpack

我正在尝试使用 Angular2 设置 webpack(使用 TypeScript)。根据Youtube 上的视频教程,这应该是轻而易举的事。这家伙以这个 Github repo为例。因此,我首先克隆了那个 github 存储库,并且基本上完成了这个人在视频教程中所做的一切。

但是当我加载我的页面时,它只会显示“正在加载...”。它从来没有真正加载角度分量。控制台中也没有错误。根据 Chrome 中的“网络”选项卡,它似乎可以bundle.js正常加载我的文件。

捆绑webpack也完全没有错误。

我不知道为什么这对我不起作用。这就是我所拥有的:

索引.html

Typescript 文件与 angular.io app.component.ts 上的完全相同

引导.ts

还有我的 webpack 配置文件:

其他所有内容,例如tsconfig.js直接来自 github repo。

有人知道为什么我的组件没有加载吗?


更新

有点设法让它工作。问题是我定义entry为一个对象。但是当我将它分配为字符串时它会起作用:

现在,当我加载我index.html的组件时,加载正常。但是当我使用 webpack 触发构建时,控制台中仍然会出现很多错误。

0 投票
1 回答
4298 浏览

javascript - 如何在 Typescript 1.8 中包含无类型节点模块?

Typescript 1.8 现在支持无类型的 JS 文件。要启用此功能,只需在 tsconfig.json 中的 compilerOptions 中添加编译器标志 --allowJs 或添加 "allowJs": true

通过https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/

我正在尝试导入没有类型文件的react-tap-event-plugin 。

说找不到模块。所以我尝试了:

这表示 Module 解析为非模块实体,并且无法使用此构造导入。然后我尝试了:

它崩溃ERROR in ./scripts/index.tsx Module build failed: TypeError: Cannot read property 'kind' of undefinednode_modules/typescript/lib/typescript.js:39567

我的 tsconfig:

我正在使用带有 ts-loader 的 webpack:

0 投票
1 回答
2004 浏览

coffeescript - 将 CoffeeScript 转换为 TypeScript

我有一个用 CoffeeScript 编写的项目。

我想按部分将其重写为 TypeScript。但是当我尝试所需的咖啡时,我有一个找不到模块的错误。

有没有机会解决这个问题?

webpack.config.js

tsconfig.js

错误:

0 投票
1 回答
2561 浏览

javascript - 如果不直接使用,则导出的 TypeScript 类不包含在 WebPack 包中

我正在将使用 Angular 1.x 的 javascript 项目转换为 WebPack 和 TypeScript(使用ts-loader)。我让它大部分工作,但是当 ts-loader 似乎在不直接使用导出时优化我的脚本时,我遇到了麻烦。

这是一个演示问题的示例项目(npm install、webpack,然后加载 index.html 并观察控制台)。

https://github.com/bbottema/webpack-typescript

来自 ClassA 的日志正在显示,但 angular 报告 ClassB 丢失(提供者)。如果您查看 bundle.js,您会发现 ClassB 完全丢失了。不同的是ClassA在导入后直接开始使用,而ClassB在编译时只按类型引用。

这是一个错误,还是有办法强制包含 ClassB?还是我做错了?Angular 2 可能会解决这个问题,但现在这一步太大了。

上述项目中的相关脚本:


包.json

webpack.config.js

tsconfig.json

索引.html

entry.js

类A.ts

B类.ts

0 投票
1 回答
2359 浏览

node.js - 挂在 ts-loader (webpack) 上的“npm run”

我正在使用 Mac OS X 10.11.3 上的 webpack 构建一个包含静态 HTML 和其他资产的 Web 应用程序。该应用程序与另一台服务器上的 API 通信。

我无法使用 webpack 构建我的应用程序。构建过程似乎在 ts-loader 执行时或周围挂起。我正在像这样运行我的构建:

从我的 package.json 执行这个命令:

终端窗口中的输出以

我尝试删除 node_modules 文件夹并重新安装它们;我试过卸载 webpack 并重新安装;我尝试将我的 webpack.config.js 恢复为我知道有效的版本;但它只是挂在这里!

我的 webpack.config.js 看起来像这样:

我的 tsconfig.json 看起来像这样:

谁能建议可能发生的事情?我似乎无法从 webpack 开发服务器或 npm 构建生成任何日志。

0 投票
1 回答
1123 浏览

reactjs - webpack 无法解析通量/实用程序

我有一个用 TypeScript 编写的操作系统项目,我正在迁移到 webpack,

但是,由于此错误,我目前无法构建项目

项目位于这里 https://github.com/erfangc/GigaGrid/tree/webpack

这是我为达到这一点所做的工作:

  • 使用ts-loader
  • 导入的行flux/utils是:import FluxUtils = require('flux/utils');
  • 我尝试了替代导入语法无济于事
  • 我试过添加一个resolve.alias部分flux/utils: 'ABSOLUTE_PATH'

该文件肯定存在于下node_modules,并且我依赖的其他库似乎捆绑得很好

任何帮助是极大的赞赏 ...

webpack.config.js从 repo 复制到这里