chenmnkken / gulp-seajs-combo

seajs(CMD) Module combo pulgin for gulp
MIT License
53 stars 20 forks source link

报错 帮忙看看 #3

Closed leekangtaqi closed 9 years ago

leekangtaqi commented 9 years ago

image

image

image

image

leekangtaqi commented 9 years ago

开发环境可以,可是gulp-seajs-combo 说 riot+compiler.js找不到, config中 去掉.js 也报错

chenmnkken commented 9 years ago

riot+compiler.js 你确定这种带 + 的写法规范?你把 + 换成其他的连字符试试

leekangtaqi commented 9 years ago

riot+compiler.js里面的一些依赖不是由seajs管理的 报错了 我都给放ignore里面了,可是又报了个错

qq 20150331143638

chenmnkken commented 9 years ago

刚更新了一个版本,修复了在 windows 平台解析 paths 报错的问题,由于很少用 windows,所以一直没测试过。 你更新下新版本试试,test 目录下的所有模块都能在 windows 平台通过测试了。

leekangtaqi commented 9 years ago

不行,还是报这个错。三方库(比如jquery)必须要在最外面套个define 的壳子吗? 能在里面用这种方式支持cmd吗?(typeof define === 'function' && define.cmd) define(function(require, exports, module) { module.exports = riot }) 还是报那个错

chenmnkken commented 9 years ago

你的 seajs.config 有点乱,建议先尽量精简,另外 seajs.config 中不要出现注释,非 CMD 的 js 为什么还要使用 gulp-seajs-combo 呢?

leekangtaqi commented 9 years ago

我想把所有的js 都由seajs来管理 啊 随时可以require,最后把所有的js 都打成一个js gulp-seajs-combo能打包进来三方库吗?

chenmnkken commented 9 years ago

建议常用的基础库做合并,比如将 jquery 和 seajs 一开始就做合并,使用一个 script 标签就加载好了,省去了很多麻烦。

leekangtaqi commented 9 years ago

为什么我jquery 我都打包不进来呢?

leekangtaqi commented 9 years ago

请问,main.js的所有的依赖都要 套 define(function(require, exports, module){ 的壳子才能被打包进来吗,立即执行函数里exports不支持是吧

chenmnkken commented 9 years ago

非 cmd 模块或者 jquery 这种,都是支持打包的,只是要看你在实际中怎么使用和配置了。 打包时的文件查找策略都是基于 os 中的纯文件系统来的,只要物理文件路径能对上即可,而在实际使用的时候,模块加载时的寻找文件的策略就要复杂的多是基于HTTP协议的。打包工具模拟不出来模块在实际页面中的使用情况,所以就会碰到实际使用或者打包会出问题的情况。 建议尽量规范简洁的使用seajs.config,确保实际使用和打包都在一定的边界内。