Open Phinome opened 9 years ago
最近的这个项目,最大的一点收获就是在项目初期需要一个规范的代码组织规则,项目初始化完成后,所有代码都按照此规则进行。例如:若项目采用AMD方式组织代码,那么项目中代码都需要按照AMD方式组织,防止出现非AMD和AMD方式混搭的情况,导致两个问题: 一是,文件重复加载,原因在于,AMD模块化后变量局部自成一套,与全局不相关(也有可能是配置的问题)。例如:a.js AMD化,前置依赖 jquery , jquery-pulgins ,b.js 非AMD化,依赖 jquery ,jquery-pulgins ,那么,按照目前的书写:
config.js: requirejs.config({ paths: { jquery: "lib/jquery/dist/jquery", "jquery-cookie":"lib/jquery-cookie/cookie", moment: "lib/moment/moment.min" }, shim: { jquery : { exports: "$" }, 'jquery-cookie': { deps: ['jquery'] } } }); a.js: define(['jquery'],function($) {....}); b.js: <script src="jquery.min.js"></script> <script src="jquery.cookie.min.js"></script>
二是,代码组织混乱。
其他的,想到再接着说。
+1 同意
最近的这个项目,最大的一点收获就是在项目初期需要一个规范的代码组织规则,项目初始化完成后,所有代码都按照此规则进行。例如:若项目采用AMD方式组织代码,那么项目中代码都需要按照AMD方式组织,防止出现非AMD和AMD方式混搭的情况,导致两个问题: 一是,文件重复加载,原因在于,AMD模块化后变量局部自成一套,与全局不相关(也有可能是配置的问题)。例如:a.js AMD化,前置依赖 jquery , jquery-pulgins ,b.js 非AMD化,依赖 jquery ,jquery-pulgins ,那么,按照目前的书写:
二是,代码组织混乱。
其他的,想到再接着说。