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

感觉一直追赶的SeaJS已死 #1605

Closed
gumutianqi opened this Issue Oct 19, 2015 · 29 comments

Comments

Projects
None yet
@gumutianqi

gumutianqi commented Oct 19, 2015

如今的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……

@lizzie

This comment has been minimized.

Show comment
Hide comment
@lizzie

lizzie Oct 19, 2015

Member

ls 是 seajs 忠实粉丝啊。可惜时代在变,人也在变,技术也在变。所谓随波逐流,就这个道理。

你可以 @lifesinger @afc163 回答你的感觉。。

Member

lizzie commented Oct 19, 2015

ls 是 seajs 忠实粉丝啊。可惜时代在变,人也在变,技术也在变。所谓随波逐流,就这个道理。

你可以 @lifesinger @afc163 回答你的感觉。。

@kebot

This comment has been minimized.

Show comment
Hide comment
@kebot

kebot Oct 19, 2015

此时,需要一个 webpack-seajs-loader

kebot commented Oct 19, 2015

此时,需要一个 webpack-seajs-loader

@hxgdzyuyi

This comment has been minimized.

Show comment
Hide comment

hxgdzyuyi commented Oct 19, 2015

@kebot +1

@afc163

This comment has been minimized.

Show comment
Hide comment
@afc163

afc163 Oct 19, 2015

Member

其实 RequireJS 也好,Sea.js 也好,CommonJS、AMD 还是 CMD 也好,在当年的产生和流行,都不是为了推框架,目的都是为了模块化开发。现在 ES2015 规范已出,JS 模块已经得到标准化,早先的模块化方案的没落,和 webpack 和 babel 等转换工具的火爆,都是大势所趋。吾等螳臂挡车,并没有什么卵用。

Member

afc163 commented Oct 19, 2015

其实 RequireJS 也好,Sea.js 也好,CommonJS、AMD 还是 CMD 也好,在当年的产生和流行,都不是为了推框架,目的都是为了模块化开发。现在 ES2015 规范已出,JS 模块已经得到标准化,早先的模块化方案的没落,和 webpack 和 babel 等转换工具的火爆,都是大势所趋。吾等螳臂挡车,并没有什么卵用。

@hxgdzyuyi

This comment has been minimized.

Show comment
Hide comment
@hxgdzyuyi

hxgdzyuyi Oct 19, 2015

@afc163 楼主在吐槽 seajs 的升级不舒服吧。

hxgdzyuyi commented Oct 19, 2015

@afc163 楼主在吐槽 seajs 的升级不舒服吧。

@foprc

This comment has been minimized.

Show comment
Hide comment
@foprc

foprc Oct 19, 2015

死忠の愤怒

话说各种转换器已经不错了,用用ES6的也还好。

foprc commented Oct 19, 2015

死忠の愤怒

话说各种转换器已经不错了,用用ES6的也还好。

@lifesinger

This comment has been minimized.

Show comment
Hide comment
@lifesinger

lifesinger Oct 19, 2015

Member

很抱歉,我一直欠大家一篇文章,就是《Sea.js 已死》。

任何一个技术产品,都有其生命周期,随着 ES6、ES7、webpack、babel 等技术与工具的兴起,Sea.js 也好,RequireJS 也好,都有了更好的解决方案。当前情况下,用 loader 意义已经不大。

推荐大家可以用下 http://ant.design/ ,也是 Arale 体系的一次重大技术升级,都不需要 loader 了。

很抱歉,同时因为 Sea.js 的死去,我充满惊喜。

你对 Sea.js 大失所望,却是我对你的欣喜若狂……

Member

lifesinger commented Oct 19, 2015

很抱歉,我一直欠大家一篇文章,就是《Sea.js 已死》。

任何一个技术产品,都有其生命周期,随着 ES6、ES7、webpack、babel 等技术与工具的兴起,Sea.js 也好,RequireJS 也好,都有了更好的解决方案。当前情况下,用 loader 意义已经不大。

推荐大家可以用下 http://ant.design/ ,也是 Arale 体系的一次重大技术升级,都不需要 loader 了。

很抱歉,同时因为 Sea.js 的死去,我充满惊喜。

你对 Sea.js 大失所望,却是我对你的欣喜若狂……

@lifesinger lifesinger closed this Oct 19, 2015

@afc163

This comment has been minimized.

Show comment
Hide comment
@afc163

afc163 Oct 19, 2015

Member

你对 Sea.js 大失所望,却是我对你的欣喜若狂……

👍

Member

afc163 commented Oct 19, 2015

你对 Sea.js 大失所望,却是我对你的欣喜若狂……

👍

@jincdream

This comment has been minimized.

Show comment
Hide comment
@jincdream

jincdream Oct 20, 2015

对的。!seajs 已经死了~ 加载器应该面向未来,面向标准了~

jincdream commented Oct 20, 2015

对的。!seajs 已经死了~ 加载器应该面向未来,面向标准了~

@fundon

This comment has been minimized.

Show comment
Hide comment
@fundon

fundon Oct 20, 2015

Contributor

Unwatched

Contributor

fundon commented Oct 20, 2015

Unwatched

@cloudcome

This comment has been minimized.

Show comment
Hide comment
@cloudcome

cloudcome Oct 31, 2015

用 coolie http://coolie.ydr.me/ 吧,专注 cmd “一百年”,前端构建 + 模块加载器一体化服务。😄

就目前,没有任何模块化方案可以撼动。

cloudcome commented Oct 31, 2015

用 coolie http://coolie.ydr.me/ 吧,专注 cmd “一百年”,前端构建 + 模块加载器一体化服务。😄

就目前,没有任何模块化方案可以撼动。

@kebot

This comment has been minimized.

Show comment
Hide comment
@kebot

kebot Oct 31, 2015

疑问:脱离英文社区,单独搞出一套东西出来合适吗?

kebot commented Oct 31, 2015

疑问:脱离英文社区,单独搞出一套东西出来合适吗?

@hxgdzyuyi

This comment has been minimized.

Show comment
Hide comment
@hxgdzyuyi

hxgdzyuyi Oct 31, 2015

@kebot 感觉这是一个知乎好问题。

对比 php 社区,作为轮子, php 社区有 yii 和 thinkphp, 前者依赖英文社区[有外国人参与],后者依赖中文社区。yii 口碑上明显要好于 thinkphp,想了想举不出反驳的例子。

作为应用型的轮子,比如 discuz 。我觉得撇开代码好不好的问题不谈,至少在应用上,在功能和创新上 discuz 依托于中文社区做的并不差。这种轮子【论坛,CMS,博客】,脱离英文社区搞起来的先例还是有的。

hxgdzyuyi commented Oct 31, 2015

@kebot 感觉这是一个知乎好问题。

对比 php 社区,作为轮子, php 社区有 yii 和 thinkphp, 前者依赖英文社区[有外国人参与],后者依赖中文社区。yii 口碑上明显要好于 thinkphp,想了想举不出反驳的例子。

作为应用型的轮子,比如 discuz 。我觉得撇开代码好不好的问题不谈,至少在应用上,在功能和创新上 discuz 依托于中文社区做的并不差。这种轮子【论坛,CMS,博客】,脱离英文社区搞起来的先例还是有的。

@kebot

This comment has been minimized.

Show comment
Hide comment
@kebot

kebot Nov 1, 2015

@hxgdzyuyi 有道理,给知乎红人点赞

kebot commented Nov 1, 2015

@hxgdzyuyi 有道理,给知乎红人点赞

@banxi1988

This comment has been minimized.

Show comment
Hide comment
@banxi1988

banxi1988 Nov 13, 2015

看了大家的讨论,我却觉得有点感伤呢?眼眶已经湿润...

banxi1988 commented Nov 13, 2015

看了大家的讨论,我却觉得有点感伤呢?眼眶已经湿润...

@syyzw

This comment has been minimized.

Show comment
Hide comment
@syyzw

syyzw Dec 23, 2015

一句话,学好英语,说多了是泪

syyzw commented Dec 23, 2015

一句话,学好英语,说多了是泪

@leochan2017

This comment has been minimized.

Show comment
Hide comment
@leochan2017

leochan2017 Feb 3, 2016

一代人做一代人的事情。上一代前端框架或者库已经基本完成使命了,让我们默默记住并怀念它们。

leochan2017 commented Feb 3, 2016

一代人做一代人的事情。上一代前端框架或者库已经基本完成使命了,让我们默默记住并怀念它们。

@hkongm

This comment has been minimized.

Show comment
Hide comment
@hkongm

hkongm Feb 3, 2016

时代更迭必然结果,继续拥抱变化吧

hkongm commented Feb 3, 2016

时代更迭必然结果,继续拥抱变化吧

@mopduan

This comment has been minimized.

Show comment
Hide comment
@mopduan

mopduan Aug 19, 2016

曾经在项目中用过一年多Sea.js,也在CSDN大会上听过玉伯对Sea.js的分享,不过浏览器Loader确实已经过时了,这篇文章问问前端工程化解决方案简介(快速搭建前端工程化解决方案)也谈起过使用Sea.js的经历。

mopduan commented Aug 19, 2016

曾经在项目中用过一年多Sea.js,也在CSDN大会上听过玉伯对Sea.js的分享,不过浏览器Loader确实已经过时了,这篇文章问问前端工程化解决方案简介(快速搭建前端工程化解决方案)也谈起过使用Sea.js的经历。

@michael8090

This comment has been minimized.

Show comment
Hide comment
@michael8090

michael8090 Nov 18, 2016

@kebot 我写了几个seajs的babel插件,能够将seajs的模块转换成标准模块,这样webpack就能打包了,对于需要打包seajs模块团队可能有点帮助。

详细可以看这里,使用方法就是在webpack里引入这几个babel插件。

michael8090 commented Nov 18, 2016

@kebot 我写了几个seajs的babel插件,能够将seajs的模块转换成标准模块,这样webpack就能打包了,对于需要打包seajs模块团队可能有点帮助。

详细可以看这里,使用方法就是在webpack里引入这几个babel插件。

@breezefeng

This comment has been minimized.

Show comment
Hide comment
@breezefeng

breezefeng Dec 27, 2016

@michael8090 你写的插件怎么使用呢?还有一个问题,在用seajs的时候会设置一个js的base路径,所有require的时候都是基于base的,使用webpack打包的时候会导致js模块找不到,这个问题你是怎么解决的呢

breezefeng commented Dec 27, 2016

@michael8090 你写的插件怎么使用呢?还有一个问题,在用seajs的时候会设置一个js的base路径,所有require的时候都是基于base的,使用webpack打包的时候会导致js模块找不到,这个问题你是怎么解决的呢

@michael8090

This comment has been minimized.

Show comment
Hide comment
@michael8090

michael8090 Dec 27, 2016

@breezefeng

先回答第二个问题,第一个答案比较长,写在下面。

  1. 怎么解决seajs的base:配置webpack的resolve.root字段,让他等于seajs的base,例如
webpackConfig = {
    resolve: {
        root: [path.resolve('../../src/js/')] // 这个数组里写你定义的seajs的base,注意要用path.resolve获取绝对路径
    }
}
  1. 怎么使用那几个插件:

    1. babel-plugin-root-resolver:使用了上面的那个配置之后,webpack负责帮你找到对应的文件位置,不需要在编译时转换了,于是不需要这个插件
    2. babel-plugin-remove-seajs-dependency-arraybabel-plugin-seajs-async-to-webpack-ensure: 安装之后,在babel-loader里加上这两个plugin就可以了,例如:
            loaders: [{
                exclude: [/node_modules/],
                test: /\.js$/,
                loader: `babel-loader?${JSON.stringify({ plugins: [
                    'remove-seajs-dependency-array',
                    'seajs-async-to-webpack-ensure'
                ] })}`,
            }

其实可以把这两个插件封装成一个webpack loader,用起来就方便很多了,我有时间弄一下。

michael8090 commented Dec 27, 2016

@breezefeng

先回答第二个问题,第一个答案比较长,写在下面。

  1. 怎么解决seajs的base:配置webpack的resolve.root字段,让他等于seajs的base,例如
webpackConfig = {
    resolve: {
        root: [path.resolve('../../src/js/')] // 这个数组里写你定义的seajs的base,注意要用path.resolve获取绝对路径
    }
}
  1. 怎么使用那几个插件:

    1. babel-plugin-root-resolver:使用了上面的那个配置之后,webpack负责帮你找到对应的文件位置,不需要在编译时转换了,于是不需要这个插件
    2. babel-plugin-remove-seajs-dependency-arraybabel-plugin-seajs-async-to-webpack-ensure: 安装之后,在babel-loader里加上这两个plugin就可以了,例如:
            loaders: [{
                exclude: [/node_modules/],
                test: /\.js$/,
                loader: `babel-loader?${JSON.stringify({ plugins: [
                    'remove-seajs-dependency-array',
                    'seajs-async-to-webpack-ensure'
                ] })}`,
            }

其实可以把这两个插件封装成一个webpack loader,用起来就方便很多了,我有时间弄一下。

@breezefeng

This comment has been minimized.

Show comment
Hide comment
@breezefeng

breezefeng Dec 28, 2016

@michael8090 可以加下QQ聊下吗,我的QQ:1024597165

breezefeng commented Dec 28, 2016

@michael8090 可以加下QQ聊下吗,我的QQ:1024597165

@michael8090

This comment has been minimized.

Show comment
Hide comment

michael8090 commented Dec 28, 2016

@luojianet

This comment has been minimized.

Show comment
Hide comment
@luojianet

luojianet commented Feb 9, 2017

mark

@blusewang

This comment has been minimized.

Show comment
Hide comment
@blusewang

blusewang Feb 14, 2017

@lifesinger 真会说话!
”你对 Sea.js 大失所望,却是我对你的欣喜若狂……“自己的产品是死是活无所谓,关系最重要!哈哈哈!
值得学习!做技术的是不该得罪人!技术不能信仰,只能利用。但人是有温度的值得关爱!

blusewang commented Feb 14, 2017

@lifesinger 真会说话!
”你对 Sea.js 大失所望,却是我对你的欣喜若狂……“自己的产品是死是活无所谓,关系最重要!哈哈哈!
值得学习!做技术的是不该得罪人!技术不能信仰,只能利用。但人是有温度的值得关爱!

@blusewang

This comment has been minimized.

Show comment
Hide comment
@blusewang

blusewang Feb 14, 2017

不过,中国人做工具总是如此非主流。再牛逼也挤不进西方的主流体系。做得再好,最后都是空。ant.design,我看结局还是和sea.js差不两样。还是认真玩ES6,webpack之流吧!
不是我瞧不起楼主大牛们,我也做不好,印度阿三也做不好。
就像论起兵法,西方人再怎么学,也建立不了学说;只能学习利用!

blusewang commented Feb 14, 2017

不过,中国人做工具总是如此非主流。再牛逼也挤不进西方的主流体系。做得再好,最后都是空。ant.design,我看结局还是和sea.js差不两样。还是认真玩ES6,webpack之流吧!
不是我瞧不起楼主大牛们,我也做不好,印度阿三也做不好。
就像论起兵法,西方人再怎么学,也建立不了学说;只能学习利用!

@lcoder

This comment has been minimized.

Show comment
Hide comment
@lcoder

lcoder Apr 15, 2017

@blusewang ant.design很火啊,你确定会和seajs一样么。我也两者都用过,seajs说真的,我还没打包成功过一次,但是ant.design上手简单,配置灵活,不是一样量级的。

lcoder commented Apr 15, 2017

@blusewang ant.design很火啊,你确定会和seajs一样么。我也两者都用过,seajs说真的,我还没打包成功过一次,但是ant.design上手简单,配置灵活,不是一样量级的。

@blusewang

This comment has been minimized.

Show comment
Hide comment
@blusewang

blusewang Apr 15, 2017

@lcoder 哈哈,我是感慨。不是预测!sea.js确是没几个好用的打包工具。
我是支持我们的开发者/团队也能在IT界展露头脚的。
至于ant.design火不火,我认为有一定的用户量为基础,重要的你用着顺手又稳定,就是最好的。
技术是用来被别人使用的,不必崇拜,分出神鬼!

blusewang commented Apr 15, 2017

@lcoder 哈哈,我是感慨。不是预测!sea.js确是没几个好用的打包工具。
我是支持我们的开发者/团队也能在IT界展露头脚的。
至于ant.design火不火,我认为有一定的用户量为基础,重要的你用着顺手又稳定,就是最好的。
技术是用来被别人使用的,不必崇拜,分出神鬼!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment