-
Notifications
You must be signed in to change notification settings - Fork 2.6k
感觉一直追赶的SeaJS已死 #1605
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
ls 是 seajs 忠实粉丝啊。可惜时代在变,人也在变,技术也在变。所谓随波逐流,就这个道理。 你可以 @lifesinger @afc163 回答你的感觉。。 |
此时,需要一个 |
@kebot +1 |
其实 RequireJS 也好,Sea.js 也好,CommonJS、AMD 还是 CMD 也好,在当年的产生和流行,都不是为了推框架,目的都是为了模块化开发。现在 ES2015 规范已出,JS 模块已经得到标准化,早先的模块化方案的没落,和 webpack 和 babel 等转换工具的火爆,都是大势所趋。吾等螳臂挡车,并没有什么卵用。 |
@afc163 楼主在吐槽 seajs 的升级不舒服吧。 |
死忠の愤怒 话说各种转换器已经不错了,用用ES6的也还好。 |
很抱歉,我一直欠大家一篇文章,就是《Sea.js 已死》。 任何一个技术产品,都有其生命周期,随着 ES6、ES7、webpack、babel 等技术与工具的兴起,Sea.js 也好,RequireJS 也好,都有了更好的解决方案。当前情况下,用 loader 意义已经不大。 推荐大家可以用下 http://ant.design/ ,也是 Arale 体系的一次重大技术升级,都不需要 loader 了。 很抱歉,同时因为 Sea.js 的死去,我充满惊喜。 你对 Sea.js 大失所望,却是我对你的欣喜若狂…… |
👍 |
对的。!seajs 已经死了~ 加载器应该面向未来,面向标准了~ |
Unwatched |
用 coolie http://coolie.ydr.me/ 吧,专注 cmd “一百年”,前端构建 + 模块加载器一体化服务。😄 就目前,没有任何模块化方案可以撼动。 |
疑问:脱离英文社区,单独搞出一套东西出来合适吗? |
@kebot 感觉这是一个知乎好问题。 对比 php 社区,作为轮子, php 社区有 yii 和 thinkphp, 前者依赖英文社区[有外国人参与],后者依赖中文社区。yii 口碑上明显要好于 thinkphp,想了想举不出反驳的例子。 作为应用型的轮子,比如 discuz 。我觉得撇开代码好不好的问题不谈,至少在应用上,在功能和创新上 discuz 依托于中文社区做的并不差。这种轮子【论坛,CMS,博客】,脱离英文社区搞起来的先例还是有的。 |
@hxgdzyuyi 有道理,给知乎红人点赞 |
看了大家的讨论,我却觉得有点感伤呢?眼眶已经湿润... |
一句话,学好英语,说多了是泪 |
一代人做一代人的事情。上一代前端框架或者库已经基本完成使命了,让我们默默记住并怀念它们。 |
时代更迭必然结果,继续拥抱变化吧 |
曾经在项目中用过一年多Sea.js,也在CSDN大会上听过玉伯对Sea.js的分享,不过浏览器Loader确实已经过时了,这篇文章问问前端工程化解决方案简介(快速搭建前端工程化解决方案)也谈起过使用Sea.js的经历。 |
@michael8090 你写的插件怎么使用呢?还有一个问题,在用seajs的时候会设置一个js的base路径,所有require的时候都是基于base的,使用webpack打包的时候会导致js模块找不到,这个问题你是怎么解决的呢 |
先回答第二个问题,第一个答案比较长,写在下面。
webpackConfig = {
resolve: {
root: [path.resolve('../../src/js/')] // 这个数组里写你定义的seajs的base,注意要用path.resolve获取绝对路径
}
}
loaders: [{
exclude: [/node_modules/],
test: /\.js$/,
loader: `babel-loader?${JSON.stringify({ plugins: [
'remove-seajs-dependency-array',
'seajs-async-to-webpack-ensure'
] })}`,
} 其实可以把这两个插件封装成一个webpack loader,用起来就方便很多了,我有时间弄一下。 |
@michael8090 可以加下QQ聊下吗,我的QQ:1024597165 |
@breezefeng ok |
mark |
@lifesinger 真会说话! |
不过,中国人做工具总是如此非主流。再牛逼也挤不进西方的主流体系。做得再好,最后都是空。ant.design,我看结局还是和sea.js差不两样。还是认真玩ES6,webpack之流吧! |
@blusewang ant.design很火啊,你确定会和seajs一样么。我也两者都用过,seajs说真的,我还没打包成功过一次,但是ant.design上手简单,配置灵活,不是一样量级的。 |
@lcoder 哈哈,我是感慨。不是预测!sea.js确是没几个好用的打包工具。 |
https://michael8090.github.io/2016/11/18/build_seajs_bundle_with_webpack.html 上面的链接里有大部分需要用到的东西,可以参考下。 |
插个眼,感觉是个模块加载历史潮流中值得插眼的帖子 另外也不是纯插眼,近期在团队里对于旧的seajs加载方式的web项目进行了webpack改造,但依然是通过webpack loader的方式把webpack内部加载改造为了 另外,最后又使用了一个plugin来对最后的bundle进行一个seajs模块包装。所以也依然可以用于其他的框架去加载,可拓展到微前端。 当前未开源,感兴趣的可私聊我了解 |
请问怎么联系大佬?目前接手一个古老的项目,使用各种方式尽力优化,但是对加入webpack有心无力。 |
抱歉过了很久才回复,这里其实是直接用webpack loader去针对seajs模块把webpack的 不过我建议在项目量不大的情况下,最好是将之前的seajs模块都替换成ES6模块,一劳永逸 |
如今的Seajs已经不是当初的Seajs了,射雕大侠已经不活跃了,SPM3.x抛弃了CMD,也差不多抛弃了Seajs,关键是我自己现在都没法用了。
当初从Seajs0.1发布的时候开始切换,CMD模块做了一大推,后来出了spmjs.org,再后来spmjs.io,期间自己将所有自己常用的30多个module全部转换了build方式,升级SPM,升级package.json配置文件,从删除family属性,更换module命名空间,publish和build方式,再后来define头也去掉了,才发现自己的一系列module已经没法维护了,升级了部分功能后,无法用新的SPM来bulid,改了配置,又无法使用seajs.use()了,规则变化,导致我凌乱了。
如果的Seajs一点都不纯粹了,不是么,requirejs还是3年前的requirejs,seajs已经不是了;当初跟requirejs对抗的优势都哪里去了,依托Seajs的社区生态又都哪里去了,请还我们一个跟3年前requirejs一样纯粹的Seajs……
The text was updated successfully, but these errors were encountered: