使用Parcel打包TS代码,这可能是学习TS阶段相对简单的打包工具

简介: Parcel是一个和Webpack类似的一个打包工具,与之不同的是可以使用Parcel不需要任何的配置,可以帮助我们快速打包TypeScript代码
Hi~,我是 一碗周,一个在舒适区垂死挣扎的前端,如果写的文章有幸可以得到你的青睐,万分有幸~

Parcel介绍

Parcel是一个和Webpack类似的一个打包工具,与之不同的是可以使用Parcel不需要任何的配置,可以帮助我们快速打包TypeScript代码,关于Parcel的使用,可以参考🚀 快速开始 (parceljs.org)

使用Parcel打包TS代码

  1. 初始化项目

    npm init -y
    tsc --init 
  2. 将Parcel下载的项目中,示例代码如下:

    npm i -D parcel-bundler
  3. 配置tsconfig.json文件,配置rootDir选项和outDir选项,配置如下:

    {
        "compilerOptions": {
            "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
            "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
            // 打包后目录
            "outDir": "./dist", /* Redirect output structure to the directory. */
            // 打包的目录
            "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
            "strict": true, /* Enable all strict type-checking options. */
            "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
        }
    }
  4. 创建一个.ts文件和.html文件,并写入如下内

    // page.ts
    const myName: string = '一碗周'
    console.log(myName)
    <!-- index.html -->
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="UTF-8" />
            <meta http-equiv="X-UA-Compatible" content="IE=edge" />
            <meta name="viewport" content="width=device-width, initial-scale=1.0" />
            <title>Document</title>
            <script src="./page.ts"></script>
        </head>
        <body></body>
    </html>
    
  5. 配置package.json文件中的script选项,配置如下:

    "scripts": {
        "test": "parcel ./src/index.html"
    }
  6. 目前为止我们的环境就配置好了,在命令行中输入npm run test即可编译我们的代码,并创建了一个开发服务器。

    npm run test

然后在浏览器中打开 http://localhost:1234/,即可看见我们编写的代码。

目录
相关文章
|
开发工具 git
vue3+ts:约定式提交(git husky + gitHooks)
vue3+ts:约定式提交(git husky + gitHooks)
463 0
|
3月前
|
移动开发 小程序 JavaScript
【RuoYi-SpringBoot3-UniApp】:一套代码,多端运行的移动端开发方案
RuoYi-SpringBoot3-UniApp 是基于 Vue3 与 UniApp 的跨平台移动端解决方案,支持一套代码编译到小程序、App、H5 和桌面端。集成 Pinia 状态管理、JWT 认证、权限路由、z-paging 分页、mp-html 富文本等主流功能,开箱即用,显著降低多端开发与维护成本,助力高效构建企业级应用。
542 6
|
前端开发 UED 开发者
现代前端开发中的响应式设计原理与实践
本文探讨了现代前端开发中响应式设计的重要性及其实现原理。通过分析媒体查询、弹性网格布局以及视口单位等技术手段,揭示了如何通过这些工具实现页面在不同设备上的优雅适配。最后,结合实际案例展示了响应式设计在提升用户体验和网站性能方面的应用。
uniapp实战 —— 猜你喜欢(含滚动触底分页加载)
uniapp实战 —— 猜你喜欢(含滚动触底分页加载)
291 3
|
缓存 NoSQL Redis
使用Redis实现缓存穿透的解决方案
使用Redis实现缓存穿透的解决方案
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
911 0
|
NoSQL 关系型数据库 MySQL
基于Python和mysql开发的商城购物管理系统分为前后端(源码+数据库+程序配置说明书+程序使用说明书)
基于Python和mysql开发的商城购物管理系统分为前后端(源码+数据库+程序配置说明书+程序使用说明书)
1045 0
|
easyexcel
EasyExcel写入内容匹配不上解决方法
EasyExcel写入内容匹配不上解决方法
626 0
|
存储 关系型数据库 应用服务中间件
私有云盘:lamp部署nextcloud+高可用集群
lamp部署nextcloud+高可用集群,配置mariadb主从复制,台主机下载mariadb,配置nfs让web服务挂载,web 服务器 配置 lamp,配置nginx反向代理&&haproxy&&keepalived。
1083 0
|
JavaScript
面试题-TS(四):如何在 TypeScript 中使用类和继承?
在TypeScript中,类是一种重要的概念,它允许我们使用面向对象的编程风格来组织和管理代码。类提供了一种模板,用于创建具有相同属性和行为的对象。通过继承,我们可以创建类之间的层次结构,实现代码的重用和扩展。