- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章一个可代替 Webpack 的构建工具:Snowpack由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
。
Webpack是过去几年中最受欢迎的JavaScript构建打包工具之一,这正是得益于它灵活的构建配置以及丰富的官方支持的第三方插件.
Webpack 的主要功能是将你所有的 JavaScript 文件,连带所有从 NPM 导入的模块、图片、CSS 和其他网络资源,全部打包到一个可以被浏览器执行的文件中.
Webpack 也是一个复杂的打包工具,学习曲线也比较陡峭,因为它的灵活性意味着它有非常多的功能来应对各种不同的使用场景。更进一步讲,哪怕只是对一个文件进行了很小的改动,Webpack 会将你的整个 JavaScript 应用重新打包和构建。如果对 Webpack 的工作原理理解不到位,构建一个应用时可能要等半小时以上.
Webpack 是 2014 年发布的。在那个时候,浏览器基本不支持 ECMAScript Module (ESM) 的 import 和 export 语法,所以在浏览器中运行 JavaScript 的方式只能是将项目中所有的模块全部打包进一个文件.
这其中还包括其他的流程,比如使用 Babel 将 JavaScript 从较新版本转换为稍旧版本,以便浏览器可以运行该应用。使用 Webpack 最主要的目的是创造最好的开发体验,让 JavaScript 开发者可以使用最新的功能(ES6+).
如今 ESM 语法已经被所有主流浏览器支持,所以将你所有的 JavaScript 文件打包在一起已经不是在浏览器中运行应用的必要条件了.
。
Snowpack 是一个 JavaScript 构建工具,它利用了浏览器对 ESM 的支持,让我们可以构建单个文件并将其发送到浏览器中。每一个被构建的文件都会被缓存,在我们每修改一个文件时,只有这一个文件会被 Snowpack 重新构建.
Snowpack 的开发服务器也做了优化,它只会在浏览器请求后构建该文件。这使得 Snowpack 可以即时启动(小于 50 毫秒)并且扩展到大型项目时也不会增加启动速度。我自己做尝试时启动服务器只用了 35 毫秒.
。
Snowpack 默认会将你的未打包应用部署到生产环境,但是你也要进行一些构建相关的优化,比如最小化、代码分割、tree-shaking、懒加载等等.
Snowpack 同时支持通过插件连接 Webpack 来打包生产版本的应用。这样,由于 Snowpack 已经转译了你的代码,你的打包工具(Webpack)只需要将常规的 HTML、CSS 和 JavaScript 文件打包.
这也是为什么你在打包过程中不需要复杂的 Webpack 配置文件.
最后,你也可以设置 package.json 中的 browserslist 属性,来设定支持的浏览器版本:
在你执行 snowpack build 指令来构建生产环境的项目时,该属性会自动被应用。Snowpack 不会在构建开发版本时执行任何转译,所以这不是一个问题,因为大部分时间你都会在最新的浏览器版本下开发.
。
要开始使用 Snowpack,你可以立即使用 Create Snowpack App (CSA) 和 NPX 来创建 Snowpack 应用。例如,你可以用如下指令来用 CSA 新建一个初始化 React 应用:
一个新的 react-snowpack 文件夹会被创建,并且附带最基础的依赖:
你立即就可以使用 npm start 指令运行这个应用。本地的调试服务器会在 8080 端口运行。CSA 的 React 模板和 Create React App 的默认模板非常相似:
Snowpack 支持主流库的 许多官方模板,如 React、Vue 和 Svelte。你只需要在指令中加入 --template 选项.
。
你使用一个打包工具时应该是因为你想要使用它,而不是因为你需要使用它 —— Snowpack 官方文档 。
Webpack 和 Snowpack 的发布相隔了数年,尽管 Webpack 一直是打包 JavaScript 模块时人气最高的选择,但浏览器对 ESM 模块的支持开创了一种新的开发 Web 应用的方式.
伴随着不打包开发以及开发中快速构建应用的能力,Snowpack 将成为一个激动人心的 Webpack 替代品,它让我们可以更轻松地开发 JavaScript 应用。与此同时,它还能让你利用 Webpack 打包生产版本,对你的应用实现构建优化.
观看Snowpack 的官方文档,可了解更多.
原文:https://blog.bitsrc.io/snowpack-an-alternative-build-tool-to-webpack-9e8da197071d 。
原文链接:https://mp.weixin.qq.com/s/mp8_xHWMIsuoxWMBBbZ93g 。
最后此篇关于一个可代替 Webpack 的构建工具:Snowpack的文章就讲到这里了,如果你想了解更多关于一个可代替 Webpack 的构建工具:Snowpack的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我们的团队开发了一堆 JavaScript 浏览器应用程序。这些应用程序共享功能(核心)和 Web 组件(共享)。文件夹结构为: /apps /app-1 /app-2
大家好,我是三元同学。 今天给大家介绍一个非常厉害的前端构建工具——Snowpack。也许你之前听说过前端领域非常多的打包工具,诸如 Webpack、Rollup,或者Parcel,甚至是现在
我们在使用我们的包结构运行雪包时遇到问题。 我们的结构: adapters app core presentation 每个包都包含 typescript ,并且都在 app 中使用包裹。 "depe
Snowpack dev 非常酷 - 但为了我的需要,我需要所有的 js/css/images 准确包装一 bundle.js文件。没有大块或其他任何东西。 我尝试在 snowpack.config.
snowpack 比 webpack 快。 但是我遇到了一些问题,比如当我导入字体时,我的 react 项目失败了。 因为snowpack 不会加载字体(.woff2) 文件。 snowpack 官方
我正在考虑使用 Snowpack作为 Webpack 的替代品.默认情况下,如果我运行 webpack 开发服务器 (webpack serve) 并且不存在默认文档,浏览到 http://local
Webpack是过去几年中最受欢迎的JavaScript构建打包工具之一,这正是得益于它灵活的构建配置以及丰富的官方支持的第三方插件。 Webpack 的主要功能是将你所有的 Ja
我有一个从空白模板开始的雪包项目。我的 index.js 文件从我正在开发的另一个模块中调用一个函数,该模块已使用 npm link 安装. 当我在另一个模块中更改文件时,它不会在 snowpack
我正在尝试将 Vaadin 组件与 snowpack 一起使用.专门为了重新创建 basic app layout example .但我收到以下错误消息。这是什么意思?我如何解决它? Unhandl
我用 private JavaScript class methods在我的前端代码和Snowpack对于我的开发工作流程。 目前(从 v2.15.0-pre.5 开始),Snowpack 似乎不能很
我正在评估 Snowpack用于构建我的 JavaScript 项目。但是,VSCode 和 Debugger for Chrome扩展无法将开发服务器上的脚本与本地源文件相匹配。因此,断点不起作用。
通常,我可以导入一个 flip或其他像这样 slim 的动画: import { flip } from "svelte/animate"; 但是,我不确定为什么我在使用 svelte 的雪堆中出现以
我正在尝试使用 snowpack 获得精巧的 Material UI。我已经像这样安装了 Snowpack 和 Snowpacks svelte 模板: npm install --save-dev
我是一名优秀的程序员,十分优秀!