-
Notifications
You must be signed in to change notification settings - Fork 4
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
【反馈收集】Hashbang 提案的问题 #2
Comments
我的想法是没必要引入 hashbang 语法。
|
赞同楼上的第一点,不赞同第二点。我可以用 |
@xtx1130 是可以通过这样来判断,但是为什么要让一个文件同时兼具两种完全不相干的能力呢?首先不符合单一职责原则(虽然这个原则是用于类设计上的,但是也是可以拿来借鉴的)。 @hax 如果一定要加的话,那就干脆把 |
@XGHeaven 现在大部分CLI的架构基本都是类似@oclif/command ,单独开一个 |
@xtx1130 首先你这个需求是没问题的,我本地写个单文件 cli,也能被别人引用当做 module。这个在本地是完全没问题的,但是这个功能有必要移植到浏览器端或者其他环境么? 所以我觉得这个提案是为了在多环境跑而不用考虑 hashbang 导致的问题。而且现在的提案你也听贺老讲了,局限性很大。感觉这个提案只考虑了本地 server 端的情况,而浏览器却基本没怎么考虑。 简单来说我们需要 hashbang 这个功能,但是这个功能是由 js 语言层面来做还是说 node 单独处理。这是个值得商榷的地方。 回到最开始,你说的这个情况现在本地 node 已经是支持的呀,但是你这个做法是跨环境的么?比如你会为了方便而在一个文件里面写既能本地当 cli 又能在浏览器环境里面当 module 的代码么? 退一万步将,如果真的需要,webpack 把 hashbang 的头去掉就好了 // 手动完美 |
@XGHeaven 哦哦,那你和Hax说的情况是一致的。
我刚才认为你说的情况是只针对node的。 |
@XGHeaven JS几乎把所有符号都已经用尽,所以为了将来语言还能扩展,每个符号都很『珍贵』。目前单符号只剩下『#』和『@』,并已经被用在了新的提案里(class fields 和 decorators)。所以是不可能把『#』用作注释了。 比较可行的是将『#!』组合视作注释。 |
@hax 贺老你不说我差点忘记了。确实不能把 |
@XGHeaven 目前提案的语义相当于只在 |
那岂不是已经用完了 |
@zhangenming 是已经用完了,只不过在某些场景上还能一鸭多吃而已。比如 |
报告见 https://github.com/75team/tc39/blob/master/issues/201907-hashbang-stage3.md
由于本提案已经达到 stage 3,已经有两个浏览器(chrome 和 ff)实现,我们需要尽快给出反馈。
请求反馈内容包括:
The text was updated successfully, but these errors were encountered: