问题标签 [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.
javascript - UMD:分配给 module.exports 是多余的吗?
我看到 JS 库使用这两种不同的实现。唯一的区别是 CommonJS 行。
它们在功能上是否相同?不需要将值分配给 module.exports 吗?
javascript - 控制 UMD javascript 模块的“公开的全局变量”
我正在创建一个小的 Javascript 前端框架。我决定针对 HTTP 2 优化它 -> 不捆绑。
我有异步依赖加载器,按需(在浏览器中)加载给定页面所需的所有资源。
但是有一个小问题。假设应用程序程序员想要使用 jQuery。我将带有 jQuery 的脚本标签附加到正文中。
据我了解,托管在 cdn 上的所有库都使用 UMD。由于我既不使用 AMD、Common JS 也不使用 ES6 导入,它会将 jQuery 变量暴露给我的应用程序全局范围。
但我不想用该变量污染全局应用程序范围。相反,我希望能够重命名该变量,并可能将其添加到给定的命名空间。
可能吗?
我正在考虑的一种解决方案是使用 XHR 请求加载该脚本,在其上使用 eval() 并以某种方式将结果包装在我的框架代码中。但是我有点迷茫,不知道该怎么做。
感谢您的任何建议。
javascript - 使用 ES6、Webpack 和 Babel 导入 UMD 样式模块
我发现了一些与此相关的 StackOverflow 问题,但没有一个匹配或解决我的问题。
我正在用 ES6 编写一个旨在用于浏览器和服务器的库。我发现了一些可以在服务器或浏览器上使用的 HTTP 请求库(popsicle,axios)。我已经在这两个地方成功地使用了这些库,但是在将它们导入我的源代码并使用输出的 webpacked 文件时遇到了一些问题。
我要导入axios
库的 ES6 源文件是
我的 webpack 配置是
如您所见,我将 libraryTarget 设置为umd
并将 umdNamedDefine 设置为true
而我.bablerc
的是
我可以通过将我的库包含在script
标签中来在浏览器中使用它,但是在使用 node.js 导入时我无法使用它。我得到一个XMLHttpRequest is not defined
. axios 库表示它在浏览器上使用 XMLHttpRequest,在节点中运行时使用 http,但由于某种原因,它没有检测到它正在服务器上运行。我在一些 UML 库中遇到了这个问题,所以相信它不是特定的包。此外,由于我可以在节点 ES5 中使用这些库而无需运行 webpack 或 babel,因此我被认为是 webpack 的配置问题。
如何在 ES6 中导入这些 UMD 样式库并生成一个可以在服务器和浏览器上使用的带有 Webpack 和 Babel 的库?
webpack - Webpack umd 似乎破坏了 stacktrace-js 的功能
我们正在尝试将 stacktrace-js 与很棒的 logary-js(我的项目)一起使用,但是在通过 webpack 之后,它似乎不再起作用了。
这是 webpack 的配置https://github.com/logary/logary-js/blob/c7fdec752e5ce33843d458e9e6c590657005c60a/webpack.config.js
这是让我担心的输出(npm run build
):
在这个分支上,我尝试禁用 UglifyJs 无济于事。
npm run test
给出这个输出(剪断):
所以看起来开发中的 webpack-mocha 集成工作得很好。但是,当我在发布后使用其他 JS 的 logary 时,我会从 stacktrace-js 获得以下输出:
当它应该完成这些单元测试时(当我运行 mocha 时会这样做,但在我在浏览器中运行时不会这样做):
typescript - Webpack UMD:关键依赖...无法静态提取
我正在尝试使用 webpack 构建一个 umd 库;无论我做什么都会收到警告:
D:/Code/Node/sample.io/source/index.ts 3:24 中的警告 关键依赖项:require 函数的使用方式不能静态提取依赖项
当我尝试require('./index.js')
生成的 index.js 时,我得到:
错误:找不到模块“。”
为了完整起见,这里是我的所有文件:
webpack.config.js:
tsconfig.json:
包.json:
索引.ts:
node -v
= v6.3.0npm -v
= 3.7.5
奇怪的是,我的一个朋友说这对他们来说没有错误。虽然他在node 4.2.6
。如果我将模块更改为 commonjs,它可以正常工作而不会出现警告或错误。
javascript - TypeScript UMD 的“模块”和“定义”都未定义
我使用“-m umd”转译我的 TypeScript,因为我的项目包括服务器、客户端和共享代码。但是,客户端代码在浏览器中不起作用。浏览器甚至没有显示任何错误,我找到的断点也没有命中,所以我不得不删除 js-ts 映射。然后,我能够调试它并发现问题。
以下是 UMD 生成的代码:
它不起作用,因为“模块”和“定义”都未定义。因此我的代码没有被执行,甚至没有任何异常。
怎么了?我怎样才能让它工作?
webpack - Webpacking UMD 模块
我是 webpack 新手,所以如果我试图将 Webpack 用于它不适合的东西,我提前道歉。
我正在使用 webpack 发布我的第一个库。我的项目和节点(或 commonjs)环境中有大量 UMD 模块,我想保留目录结构,而在浏览器环境中,我想将所有模块捆绑到一个包中。我的问题是如何实现这一目标。当我的条目文件中有这样的东西时 -
我通过 webpack 传递上述文件,它不会将依赖项中的代码引入输出文件。如何使 webpack 自动将 AnalyticsBrowser.js 及其所有依赖项打包到一个包中?那可能吗?
注意 - 我删除了 UMD 包装器并用一个简单的 require 语句替换它们,webpack 能够将代码从它编译到输出中。所以我的问题是为什么它不能将 UMD 模块的依赖项编译到输出文件中。
javascript - jQuery 的 Webpack UMD 问题
我的库是用 webpack 构建的。libraryTarget 是 UMD。问题在于我的依赖项。例如我正在使用 jQuery。我的 webpack 配置如下所示:
在 AMD 环境中它可以工作。我可以毫无问题地要求:
但是,如果我想在非模块加载器环境中使用构建的文件,则会得到“$ 未定义”。当然解决方案是通过这种方式更改 webpack 配置:
比它在非模块加载器环境中工作。但是这次它不再在 AMD 环境中工作了,因为 requirejs 尝试加载jQuery.js而不是jquery.js!
我该如何解决这个问题?
angular - Angular2,systemjs,无法使用 Rx.umd.js
在 Angular RC4 的最新版本中,Rxjs 可以在node_modules
ornpmcdn.com
目录中使用。
成功的 plunker 但不使用.umd.js
http://plnkr.co/edit/B33LOW?f=systemjs.config.js&p=preview
当然,这个设置会下载很多单独的 RxJS 文件,因为它是单独读取文件,而不是.umd.js
但是,与其他 AngularJS 文件一样,当我尝试使用单个 umd.js 文件时,会发生以下错误。
plunker 尝试使用失败.umd.js
,并且system.config.js
http://plnkr.co/edit/rVUNyz?p=preview&f=systemjs.config.js
systemjs.config.js
似乎“rxjs”根本没有使用“包”部分。rxjs
我看不出使用in packages 部分
有什么区别。
只是为了使这个 plunker 工作,我必须将地图部分更改为以下内容bundles
我的问题是“有没有办法将 Rx.umd.js 与 Angular2 应用程序一起使用?”