如何使用需求来模块化这个代码片段
How would requirejs be used to modularize this snippet?
我正在尝试模块化前端开发,并尝试将一些简单的代码模块化作为练习。我读过关于需求和浏览器化,但我还没有真正完全理解它是否以及如何适用于我想要完成的事情(它似乎更倾向于nodejs和应用程序开发)。
为了简单起见,假设我有以下来自html5样板文件的google analytics片段:
/* Google Analytics: change UA-XXXXX-X to be your site's ID. */
(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
e.src='//www.google-analytics.com/analytics.js';
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
ga('create','UA-XXXXX-X');ga('send','pageview');
我想做的是用一个变量替换'UA-XXXXX-X'
字符串,当有人想要使用分析代码片段时可以声明。有点像下面的伪代码:
main.js:
var myGoogleId = 'UA-12345-0';
analytics-module.js
/* Google Analytics: change UA-XXXXX-X to be your site's ID. */
(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=
function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;
e=o.createElement(i);r=o.getElementsByTagName(i)[0];
e.src='//www.google-analytics.com/analytics.js';
r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));
ga('create',myGoogleId);ga('send','pageview');
index . html
<html>
...
<script src="main.js"></script>
<script src="lib/analytics-module.js"></script>
...
</html>
这样,谷歌分析片段就可以用依赖管理器来管理,例如,谷歌用户id将是代码中唯一的可变部分。
那么我将如何使用需求来模块化这种类型的代码片段(不管在这里这样做是否明智)?你可以这样使用Require:
在单个文件中:
// the `configuration` module:
define('configuration', function(){
return {
googleId: 'UA-XXXXX-X'
}
});
// the analytics module
define('analytics', ['configuration'], function(googleId){
var anID = googleId;
(function(anID){
/* google analytics code here */
}());
});
// initialization of it all
require(['analytics']);
相关文章:
- 我的html表单无法验证.请参阅代码片段中的html代码和java脚本
- 将代码片段转换为 HTML 页面
- 以下代码片段是命名空间还是闭包
- 对以下代码片段中“this”值更改的说明
- fadeIn, fadeOut jQuery 代码片段
- 如何更好地编写以下Javascript代码片段
- ace编辑器查找代码片段
- 如何优化此JavaScript代码片段
- 被这个JavaScript代码片段弄糊涂了
- 以下 Chrome 扩展程序 JavaScript 代码片段究竟是如何工作的
- 跳过爬虫的 JavaScript 代码片段
- 将代码片段插件添加到 Rails 应用程序中的 CKEditor
- Nodejs 可选正则表达式命名组的插件或代码片段
- 我怎样才能异步执行 JavaScript 代码片段并等待它们的结果
- 如何使用下面的代码片段获得不同的值
- 在 JavaScript 中将代码片段转换为方法
- 代码片段,使用jquery,我什至需要javascript吗?
- 如何简明扼要地遵循 jquery 代码片段
- JavaScript代码片段解释
- 这两个 Angular 代码片段有什么区别