spmjs / grunt-cmd-transport

Transport everything into common module.
MIT License
70 stars 32 forks source link

Update script.js #73

Closed amriogit closed 10 years ago

amriogit commented 10 years ago

递归遍历依赖,避免依赖层次超过两层后导致依赖丢失

popomore commented 10 years ago

修改的目的是什么,补充测试用例,现在的用例挂了

amriogit commented 10 years ago

不好意思,提交之前没有跑下测试用例。

修改的目的: 在concat include = all 时,让顶级标识模块和它的依赖可以被 transport 进来。看了代码的实现,貌似只能递归相对标识模块,顶级标识模块只有它本身被 transport 进来。我想让顶级标识模块和它的依赖也能被 transport 进来,避免 concat include = all 时丢失。

popomore commented 10 years ago

那感觉应该是 concat 的逻辑,transport 是转成 cmd,concat 是把哪些文件合并进来。

amriogit commented 10 years ago

我只是好奇为什么不转换 顶级标识 模块进来?因为我在项目中基本都是用的顶级标识,虽然它们可能用相对标识更好的。

------------------ 原始邮件 ------------------ 发件人: "Haoliang Gao"notifications@github.com; 发送时间: 2014年9月1日(星期一) 晚上10:54 收件人: "spmjs/grunt-cmd-transport"grunt-cmd-transport@noreply.github.com; 抄送: "Amrio"416995050@qq.com; 主题: Re: [grunt-cmd-transport] Update script.js (#73)

那感觉应该是 concat 的逻辑,transport 是转成 cmd,concat 是把哪些文件合并进来。

— Reply to this email directly or view it on GitHub.

amriogit commented 10 years ago

按照我的理解,transport 应该把顶级标识和相对标识都一起揉进来,这样才是一个模块的依赖。 虽然目的是为了 concat,动机有点不纯。

popomore commented 10 years ago

因为依赖的模块在 spm2 中是已经编译好的,concat 合并时直接到 sea-modules 下去找的

amriogit commented 10 years ago

嗯,应该是我自己造的孽了,都是用的顶级标识。 在 concat 的时候它也刚刚 transport 好而已,还没 concat。本来想一次打包好的,但是现在需要分清先后,哪些先打包,哪些后打包。不然就只能一个个把 顶级标识 改为相对标识了。哎,自己造的孽啊 T^T

那么这个 PR 就撤了吧

popomore commented 10 years ago

一个项目中最好用相对路径,这也是 seajs alias 作的孽

popomore commented 10 years ago

不过非常欢迎 PR

amriogit commented 10 years ago

以后要注意规范了。不过我提交的那个PR可以解决我的问题,一次性把所有的 依赖 都提取出来了,不管是顶级还是相对标识,concat 时绝对不会少,哇哈哈(_^_^) 大家不要学我哦!!!⊙﹏⊙ 最好使用相对标识,如果想 concat 的话。