如何使用 npm 安装需要浏览器的 JS
How to use npm installed requireJS for browser
虽然requirejs
能够使用 npm 安装的模块,但如果它通过 npm install requirejs
安装,我该如何使用requirejs
?
我已经阅读了使用示例部分中列出的requirejs
的示例。他们似乎都假设require.js
被下载到特定位置。由于文档特别说
不要做类似require("./node_modules/foo/foo"之类的事情。
我想输入这样的东西是不对index.html
:
<html>
<head>
<script data-main="scripts" src="node_modules/requirejs/require.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
如果 requirejs 是 npm 安装的,推荐使用它的方法是什么?如果我错过了文档中的某些内容,请告诉我。谢谢
看起来你正在混淆RequireJS的一系列不同用途:
-
如何在浏览器中使用通过 Node 安装的 RequireJS?
您可以使用
npm install requirejs
安装它,然后您的 HTML 文件有一个指向node_modules/requirejs/require.js
的script
元素。与您在代码片段中显示的完全一样。仅此而已。话虽如此,我不喜欢在部署的内容中node_modules
,所以我通常会将我的构建过程复制到其他地方require.js
。 -
如何在 Node 中使用 RequireJS 加载 npm 安装的模块?
假设没有 RequireJS,您将通过执行
require('foo')
来加载模块foo
。您安装 RequireJS 并将其加载为requirejs
。如何使用 RequireJS 加载foo
?你可以只做requirejs('foo')
.只要 RequireJS 没有通过自己的配置找到它,它就会作为最后的手段调用 Node 自己的require
,并以这种方式加载它吗?这是一个例子。使用npm install requirejs
安装 RequireJS 。创建此文件:var requirejs = require("requirejs"); var fs = requirejs("fs"); console.log(fs);
然后运行它。您将进入控制台节点的
fs
模块。 -
如何在浏览器中使用 RequireJS 加载 npm 安装的模块?
这取决于模块。RequireJS 不包含能够神奇地使 npm 安装的模块在浏览器中工作的代码。这最终取决于模块的结构。一些情况:
一个。一些 npm 安装的模块可以加载 RequireJS,无需修改。我编写了一个库,它通过 npm 分发,但却是 AMD 模块的集合。在浏览器中使用 RequireJS 加载它们是微不足道的。
二.它可能需要包装在
define
调用中。我最近在我的一个项目中加载了merge-options
gulp-wrap-amd
.merge-options
是一个 CommonJS 模块。它不支持开箱即用的 RequireJS,但如果您用define
调用包装它,它将起作用。三.在浏览器中加载之前,它可能需要更复杂的内容。例如,如果模块依赖于 Node 的
fs
模块,则必须为在浏览器中运行的fs
提供替代品。它可能会向您的代码呈现一个虚假的文件系统。
- 有没有任何方法可以使用node-js从不同的机器打开浏览器
- JS和three.JS,在浏览器中进行参数测试
- 当浏览器位置更改时重新渲染React.js
- 通过浏览器加载页面时触发加载脚本(js或jQuery)'s”;返回“;作用
- 浏览器坚持使用旧的html和JS缓存
- 跨浏览器JS文件系统API
- iOS在safari中打开URL,而不是在应用浏览器JS、HTML中打开Facebook
- 如何通过从浏览器 js 控制台触发的 require.js 重新加载文件
- 在 Node.js 中运行浏览器 JS
- 在离开站点跨浏览器 (JS) 之前确认消息
- 使用 Microsoft Kinect 控制 Web 浏览器 JS 组件
- 如何在浏览器 JS 控制台中包含脚本时覆盖内容安全策略
- 跨浏览器JS/jQuery将当前URL复制到剪贴板
- 跨浏览器Js监听器
- 在浏览器JS中禁用缩放
- 带有浏览器.js的 Babel,获取未捕获的语法错误:正则表达式无效
- 如何修改/“;Spoof“;运行时的标准浏览器JS DOM对象(Window.location)
- 将curl请求从浏览器js匹配到NancyFx服务
- 非浏览器JS库
- 节省服务器端的磁盘空间.在浏览器(JS)中解压缩“gz”