皮卡注册处最近发布了Snowpack的第一个主要版本。Snowpack通过使用Web标准和现代浏览器简化了开发人员的体验。限制es模块和JavaScript语言标准特性的开发人员可能不再需要通过复杂的构建链来构建、运行和调试他们的应用程序。
Snowpack旨在通过将通常复杂的绑定过程转换为可选功能来改善web应用程序开发人员的体验。可以使用捆绑包(如浏览器或网络数据包),但不再需要。Snowpack声称开发人员将能够修改他们的代码,并立即在浏览器中看到它的反映。这将在没有任何构建或绑定的情况下发生,从而导致更快的迭代。此外,Snowpack优化了应用程序对生产的依赖,包括树抖动、细化、源映射等。
皮卡团队提供了以下基准来支持他们的主张:
Snowpack附带了一个关于简化为开发人员设计的开发过程的警告。开发人员必须同意仅将专家系统模块导入其应用程序,从而拒绝竞争的非标准约定,如通用标准(CJS)、异步模块定义(AMD)和通用模块定义(UMD)。皮卡团队为自己的注册表提供了70,000多个条目,包括围绕es模块构建的包。ES模块的局限性也意味着开发者只能针对支持ESM语法的浏览器。这包括到2020年1月使用的大约90%的浏览器。所有现代浏览器(火狐、Chrome、Edge、Safari)都支持它。安卓IE11和UC浏览器(国内较大)不可用。
开发人员还必须放弃特定于外部工具或包的语法。因此,开发人员不能使用特定于webpack的一些语法,例如支持图像或样式表的导入(例如import)。/app.css ").这意味着放弃一系列webpack插件,这可能会使复杂的webpack配置难以迁移到Snowpack。
要使用雪包,开发者首先需要安装雪包。示例:
然后开发人员应该运行雪包:
之后,开发人员可以像往常一样创建他们的HTML条目文件和相应的JavaScript。例如,HTML条目文件可以是:
使用适当的JavaScript文件:
因此,应用程序可以随时提供服务,无需任何绑定步骤:
考虑到源代码没有被捆绑的程序修改,开发人员可以直接在浏览器中调试这样的代码,就像他们编写代码一样。额外覆盖雪袋,或为一些特殊情况提供解决方案。例如,开发人员可以通过使用巴贝尔和htm的组合来使用JSX。本文档解释了如何将Snowpack与TypeScript一起使用。它还围绕React不使用es模块来支持发布这一事实,详细描述了如何使用@ reactiesM项目和NPM/纱的别名函数。
Snowpack是InfoQ 2019年初报道的原@Pika/web的更名。所以用了一年,完善了一年,期间有开发商表达了热情。然而,在最近的一条推特上,一名开发人员反对说,Snowpack依赖于来自单个请求模块的HTTP请求数量:
好吧。这些都是智能建筑工具可以自动为你优化的东西。但是(。)您必须加载每个文件(。)分开。对于任何大小合理的应用程序,您将很快达到HTTP限制。
皮卡团队的核心成员弗雷德肖特回答说,HT TP/2缓解了这种担忧:
当然,如果没有HTTP/2,就另当别论了。但是与HTTP/2文件并行加载。我认为拾取(点)开发是一个合理的规模,我们已经看到了最小的PE RF命中和迭代速度的巨大提升。
重要的是,Schott透露,尽管Snowpack在过去一年中有所改进,但它无法满足每个项目的需求:
有一点需要提一下:Snowpack不需要为每个项目提供完美的工具。从Snowpack开始更快,然后移动到一个包。一旦达到一定的规模,还是胜利。
样品和文件可从专门网站获得,并在指令发布后一周内改进。鼓励开发人员提交反馈,并指出哪些库、框架和指南应该在文档中优先考虑。欢迎通过GitHub项目捐款。根据麻省理工学院的开源许可,Snowpack是可用的。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!