问题标签 [umd]

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 回答
728 浏览

typescript - Typescript 导入和 Webpack

我正在尝试使用我的 TypeScript 应用程序中的hellosign 嵌入模块,然后使用 Webpack 打包并作为网页的一部分运行。

我还导入了@typestypings

问题是,如果我使用:

打字稿给我一个错误:

我也尝试过简单地使用:

这使我可以从我的代码中访问HelloSign全局,但问题是在运行 webpack 之后,在浏览器中运行它时,HelloSign找不到:

导入这个库的正确方法是什么?提供的打字有问题吗?

0 投票
2 回答
1357 浏览

node.js - 打字稿错误在tsconfig.json中将模块更改为“umd”或“amd”时找不到模块'typescript-Collections'

我正在使用 VS17 企业版。如果我在modulecommonjstsconfig.json.

但是,一旦我将其更改为"umd""amd",我就会收到错误消息(请参见屏幕截图),因此Cannot find module 'typescript-collections'这两个变量将是 type 。我还附上了我的.queuequeue1anytsconfig.json

任何帮助将不胜感激。

在此处输入图像描述 在此处输入图像描述

0 投票
0 回答
23 浏览

javascript - 为什么我的 Webpack 包不返回我的类?

我有一个类,每个类都在它自己的文件中,与 Webpack 捆绑在一起。我希望能够导入包并在 Node 和浏览器中使用它们。

我的 webpack 入口文件:

示例类:

网络包配置:

但是当我尝试使用它们时,我只得到一个空对象并且没有类的迹象。

普朗克

我哪里出错了?

0 投票
1 回答
100 浏览

visual-studio-2015 - AMD RequireJS @types TypeScript 2 Visual Studio 2015 噩梦

我被分配了一项任务,将我们的 angularJs 项目更新为 TypeScript 2

我们目前使用 requirejs (AMD) 来填充库,然后使用

import 'angular'; import 'lodash';

据我所知,这是一个 ES6 模块加载语法。我们声明一个主应用程序模块并在其中导入库,然后在导入应用程序模块时

import 'Application';

这也是由 requirejs 填充的,当我们导入它时,我们会自动获取应用程序的所有导入库列表。


我实际上将项目成功更新为 TypeScript 2!!!

但是,当我尝试使用 @types 来包含 TypeScript 声明文件时,就会出现问题。

没有关于如何完成这项工作的完整参考!

****** 问题!******

当我尝试使用 @types/lodash 时,我在所有现有文件中都丢失了 _ (lodash) 的智能感知。

当我尝试

import * as _ from 'lodash';

然后我面临一个不同的错误:

Build:Module augmentation cannot introduce new names in the top level scope.

我的理解是 .d.ts 文件导出 UMD 模块。但是如何在我的 Visual Studio 2015 中引用 @types?

请帮忙!谢谢。

0 投票
0 回答
258 浏览

javascript - js - 闭包编译器和 UMD

我有一些带有这样的 UMD 模式的代码:

我想用带有ADVANCED_OPTIMIZATIONS标志的 Google Closure Compiler 编译这段代码。我不允许更改为上面的代码。当我编译这段代码时,闭包编译器无法识别root.returnExports等于window.returnExports并将代码编译为:

这当然会引发错误,因为returnExports(第 9 行)未定义。jQuery 函数$('body').text(...);是在一个外部文件中声明的,所以这不是问题。

我看到关于 Closure Compiler 和 UMD 模式的另一个问题:Google 闭包编译器和 UMD 模式,但这对我没有帮助。

我如何告诉闭包编译器root.returnExports等于window.returnExports

笔记:

我想重命名为or之returnExports类的东西,而不是保留它的名字。ab

0 投票
1 回答
2594 浏览

typescript - 使用 webpack 导入 UMD 构建的模块会导致严重依赖错误

我正在尝试构建一个简单的文件,该文件依赖于使用 UMD 导出构建的库。

它编译得很好,但是 webpack 会吐出依赖错误:

哈希:85004e3e1bd3582666f5 版本:webpack 2.3.2 时间:959ms 资产大小块块名称 dist/bundle.js 61.8 kB 0 [emitted] main build/main.d.ts 0 bytes [emitted] [0] ./~/jsonc- parser/lib/main.js 40.1 kB {0} [内置] [1] ./~/jsonc-parser/lib 160 字节 {0} [内置] [2] ./~/path-browserify/index.js 6.18 kB {0} [内置] [3] ./~/process/browser.js 5.3 kB {0} [内置] [4] ./src/main.ts 200 字节 {0} [内置] [5] ./ ~/vscode-nls/lib 160 字节 {0} [可选] [内置] [6] ./~/vscode-nls/lib/main.js 5.46 kB {0} [内置]

./~/jsonc-parser/lib/main.js 3:24-31 中的警告 关键依赖项:require 函数的使用方式不能静态提取依赖项

./~/vscode-nls/lib/main.js 中的警告 118:23-44 关键依赖项:依赖项的请求是一个表达式

./~/vscode-nls/lib/main.js 中的错误找不到模块:错误:无法解析 '.../webpack-typescript-umd/node_modules/vscode-nls/lib' @ 中的 'fs'。 /~/vscode-nls/lib/main.js 7:9-22 @ ./~/jsonc-parser/lib/main.js @ ./src/main.ts

我想将我的js转译文件保留为,commonjs但我也想捆绑jsonc-parser而不将其重新编译为commonjs.

在 github 上创建了一个 repo,显示了错误。希望这可以帮助你。

您可以简单npm install && npm run dist地重现错误。

0 投票
1 回答
2210 浏览

webpack - 模块不是装载机必须有正常或俯仰功能

我正在使用一个作为 umd 模块分发的库,我正在导入的文件之一中的代码如下所示

lib.js

现在当我在我的代码中使用这个 lib.js 并运行 webpack 时,它会抛出这个错误

错误:模块 'H:\Projects\abc\umd\app\utils\require-isdefined-plugin.js' 不是加载器(必须具有正常或俯仰功能)

我认为 webpack 将“../utils/require-isdefined-plugin”视为加载程序并抱怨。

我的问题是如何让 webpack 知道这不是加载程序并正常执行此文件或

还有其他方法可以使这项工作吗?

0 投票
0 回答
39 浏览

jquery - mousemove 事件导致网络错误

我有 angular 2 项目,我正在使用 jquery 代码:

为了隔离问题,“someFunction”是一个空函数;

当我将光标移到 #someId 元素上时,我得到了这些错误: 浏览器错误

我也尝试从角度引发事件,与 jquery 的问题相同;

platform-b​​rowser.umd.ts:934 发生了什么?

解决方案:

事件本身导致 angular zone.js 算法检查所有绑定。其中之一导致 iframe 源重新计算 url。

0 投票
2 回答
5578 浏览

javascript - 在 webpack 中将库配置为外部库不适用于 UMD 作为 libraryTarget

我在过去两天尝试了这个,但我无法让它像预期的那样工作:我想构建我自己的 JavaScript 库并将其注册到一个已经存在的命名空间(“OCA” - 在这种特殊情况下)。正如您可能理解的那样,我不想被迫放弃现代方法,例如通过打字稿或模块进行类型安全。

因此,我使用webpack 2libraryTarget: umd在“OCA.Ocr”下注册输出(我的库名为“Ocr”)。这按预期工作,但是当涉及到我想使用的点时underscorejs,因为它将在应用程序中全局可用,该库也应该交付到,我无法让它工作。我遵循了 webpack 配置文档,它说externals配置选项应该是要走的路:

我按照指南的建议使用它,但它不起作用:

app.ts使用下划线库的文件(例如_.defer方法,当然并不总是最好使用)看起来像这样:

我将它包含在应用程序中,并检查了 underscorejs 库是否在我的库被浏览器加载之前被加载,但控制台输出仍然显示:

TypeError: underscore_1.default 未定义

编译后的输出如下(也许这有点帮助):

有谁知道这是如何工作的以及我将要做什么?我完全迷路了,现在希望得到你的帮助。

顺便说一句:对我也不起作用。

0 投票
0 回答
393 浏览

javascript - requireJS 优化器 - 将两个匿名模块组合成一个 combine.js 文件

我正在尝试使用RequireJS 优化器将两个 require amd 模块组合成一个 combine.js javascript 文件。

**此问题与此问题不同:Mismatched anonymous define() module where there is not a solution or detail of the questions,并且与reactJS文档有一些矛盾的建议。

模块1.js

模块2.js

推荐的良好做法

在 requireJS wiki 和其他来源中,作为一种好的做法,他们明确建议不要为每个模块设置名称,而是将其保持匿名,没有 id: https ://github.com/requirejs/requirejs/wiki/Updating-existing -图书馆#anon

通常你不应该注册一个命名模块,而是注册为一个匿名模块......

RequireJS 优化器 - 将模块组合在一个 js 文件中

[构建.js]

[定义.js]

[弹出 requireJS 优化器]

RequireJS 优化器 - 输出 - combine.js

尝试加载 combine.js 文件和模块

[索引.html]

问题

加载combined.js 文件时,我总是得到相同的错误,除非我使用代码为上面的每个模块指定一个ID 名称:define('module1', factory); ...

错误:

附加信息

  • 当前,所有文件都使用具有该 UMD 模式的 requireJS 完美加载。但是我不知道是否应该更改某些内容。
  • definition.js 和 combined.js 显式加载模块,每个模块都有定义的id 名称。问题可能就在这里。

问题

  1. 如何将这些匿名模块组合到一个 combine.js 文件中,使用 requireJS 加载该文件,然后获取模块?
  2. 代码中可能有问题吗?
  3. 在 requireJS Optimizer 文档中,他们说他们支持加载匿名模块,但我一直无法做到。是否真的可以在不为模块分配 id 名称的情况下做到这一点?

我完全绝望地试图解决它,并且已经查看了许多资源,但找不到明确的答案。非常感谢