webpack配置本地TypeScript编译环境和开启本地服务

2023-11-12

目录

1.创建一个文件夹

2.初始化一个package.json文件对我们安装包进行记录

3.安装webpack

4.配置webpack.config.js文件

 


1.创建一个文件夹

2.初始化一个package.json文件对我们安装包进行记录

执行npm init,文件命名为ts_demo,然后一直回车。

3.安装webpack

npm install webpack webpack-cli -D

创建webpack.config.js文件

4.配置webpack.config.js文件

配置webpack.config.js文件准备

安装能使html文件一起打包的插件:npm install html-webpack-plugin -D

 

安装能使浏览器自动更新(刷新)的插件:npm install webpack-dev-server -D

修改package.json文件

安装ts-loader:npm install ts-loader -D

 

初始化tsconfig.json文件来支持ts-loader

 

核心配置文件:

//PS:所有构建工具都是基于node.js平台运行的,模块化默认采用commonjs

const path = require("path")//导入node中path模块
//打包html资源的插件使用,将src的html文件进行打包,完成后在dist文件夹中生成HTML文件,并对其处理,自动把使用的文件引用进去
const HtmlWeabpckPlugin = require("html-webpack-plugin")

//导出配置
module.exports = {
    mode: "development",//运行模式,使用开发者模式
    entry: "./src/index.ts",//入口文件
    output: {//打包后的出口文件
        path: path.resolve(__dirname, "./dist"),//输出的路径
        filename: "bundle.js"//输出的文件名
    },
    resolve: {
        //配置可省略的文件扩展名
        extensions: [".ts", ".js", ".cjs", ".json"]
    },
    devServer: {},//热更新,可详细配置
    module: {
        rules: [
            //打包ts的配置
            {
                test: /\.ts$/,
                loader: "ts-loader"
            }
        ]
    },
    plugins: [
        //创建一个空的HTML文件,自动引入打包输出的所有资源(JS/CSS)
        new HtmlWeabpckPlugin({
            //复制'./index.html'文件,并自动引入打包输出的所有资源(JS/CSS)
            template: "./index.html"
        })
    ]
}

测试运行:npm run serve

运行成功:message长度为11,内容为hello world

 

 

 

 

 

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webpack配置本地TypeScript编译环境和开启本地服务 的相关文章

  • 如何从 Typescript 中导入的文件推断类型

    我有一个棘手的打字稿问题 我似乎无法解决 我想根据泛型推断值 然而 问题是推断的类型需要来自导入的文件 用一个例子来解释 这是我的通用函数 import DocumentNode print from graphql type Graphq
  • Socket.io 如何判断某人何时离开

    我正在使用 socket io 创建一个实时游戏 目前 当有人离开时 什么也不会发生 我想以某种方式通知服务器说谁离开了 有没有办法在用户离开时发出正确的信息 我可以让服务器每 1000 毫秒对每个人执行一次 ping 操作 或者通过其他方
  • Chart.js 渲染垂直堆积条形图太慢

    我正在使用 Chart js API 渲染多个堆叠的垂直条形图 但性能很慢 我什至做了一些改变 这样所有的content对象已经由服务器而不是浏览器处理 但我意识到大部分时间来自最终函数new Chart overallStatsChart
  • 优化重叠矩形的绘制

    我有很多矩形 有些与其他矩形重叠 每个矩形都有一个绝对 z 顺序和一个colour 每个 矩形 实际上是粒子效果 网格或纹理的轴对齐边界框 并且可能是半透明的 但只要您不尝试剔除其他矩形后面的矩形 就更容易抽象地思考彩色矩形 所以我将在问题
  • 在多个 angular.js 应用程序之间共享单个服务

    我正在构建一个电子商务网站 基于 shopify 并且使用多个小型 angularjs 应用程序来处理诸如快速购物车 愿望清单 过滤产品和其他一些较小项目之类的事情 我最初使用了一个大型应用程序 具有路由和所有内容 但当我没有完整的 RES
  • Android键盘点击搜索输入时出现和消失

    我在用谷歌地图 Js API当我搜索一个地方时 我的输入搜索栏工作正常 当我通过 iPhone 设备使用它时 它也工作得很好 但是当我通过Android 设备然后键盘立即出现和消失 我已经找到了一些关于当我按下搜索栏时 android 键盘
  • 如何验证单选按钮?

    我的 Rails 应用程序中有一个单选按钮 我想编写一个 java 脚本代码 在未选择任何选项时验证这一点 在你的 votes 类中做类似的事情 class Myvotes lt ActiveRecord Base validates vo
  • 为 Promise 编写循环的正确方法。

    如何正确构造循环以确保满足以下条件承诺电话和被束缚的记录器 log res 通过迭代同步运行 蓝鸟 db getUser email then function res logger log res this is a promise 我尝
  • 如何从矩形点计算旋转角度?

    我有4分1 2 3 4闭合一个矩形 这些点按以下方式排列在数组中 x1 y1 x2 y2 x3 y3 x4 y4 我遇到的问题是矩形可以旋转一定角度 如何计算原始点 灰色轮廓 和角度 我试图在 javascript css3 transfo
  • 是否可以在打字稿中重用泛型类型?

    我想做这样的事情 namepace Namespace
  • setTimeout() 的问题

    这是我的代码 我想要它做的是写 0 等待一秒 写 1 等待一秒 写 2 等待一秒 等等 而是写 5 5 5 5 5 for i 0 i lt 5 i setTimeout document write i 1000 http jsfiddl
  • 在javascript中通过window.location传递数据

    我试图通过 window location 传递数据 数据在 del id img album 中可用 我想通过 window location 发送多个值 window location save php type deldownload
  • 脚本标签内的 Razor RenderSection - 如何将脚本从视图插入模板函数

    我正在使用 MVC 3 和 Razor 视图引擎 我想将多个视图中的脚本注入到一个集中定义的视图中 document ready 母版页中的功能 我已经尝试过以下方法 在我的大师看来 然后 section DocumentReady ale
  • Ajax调用完成后执行函数

    我是 Ajax 新手 我尝试在使用 for 循环时使用 Ajax Ajax 调用之后 我正在运行一个使用 Ajax 调用中创建的变量的函数 该函数只执行两次 我认为 Ajax 调用可能没有足够的时间在循环开始之前进行调用 有没有办法在运行
  • c3js数据标签的位置

    有没有可能的方法来更改数据上方标签的位置c3条形图 在官方文档中 很好地解释了如何通过操作 y 和 x 整数来更改 x 和 y 测量轴上标签的位置 但我没有找到任何数据标签 我试图用简单的方式指出它d3其上c3是基于但是console lo
  • 同源政策目的可疑

    正如我所读到的 同源策略是防止源自 邪恶 域 A 的脚本向 良好 域 B 发出请求 换句话说 跨站点请求伪造 玩了一下我了解到的Access Control Allow Origin标头和CORS据我了解 它允许从好域 B 指定服务器 域
  • 插入四个空格而不是制表符

    我试图在按下 Tab 键时插入四个空格 我正在使用以下代码 请参阅spaces t 但是当我将其切换到spaces 当我按 Tab 时只插入一个空格 我还尝试了 function textarea keydown function e va
  • 检测未定义的对象属性

    如何检查 JavaScript 中的对象属性是否未定义 检查属性值是否为特殊值的常用方法undefined is if o myProperty undefined alert myProperty value is the special
  • 使用来自Processing-JS的JSON

    我想使用编写一个应用程序处理 JS http processingjs org 并且我希望能够使用服务器端数据加载它 我还没有编写服务器端 所以我可以使用任何东西 但似乎明显的 AJAX 事情是使用 JSON 将数据上传到页面中 如何从我的
  • Page_ClientValidate 正在验证多次。

    我的问题是 验证摘要消息 警报 显示两次 我无法弄清楚原因 请帮忙 这是代码 function validate javascript function if typeof Page ClientValidate function var

随机推荐

  • String转换为json对

    JSONObject jsonObject new JSONObject jsonObject put json upKbmsKnowledgeList String jsonString jsonObject getString json
  • 关系型数据库原理

    这篇文章是对知乎上如何自己实现一个关系型数据库的一个尝试性回答 后续会不断更新 对外数据模型为关系型数据库 内部的实现主要分成两大类 一类是disk based 比如mysql postgres 一类是memory based 后者包括Me
  • 大数据技术架构:构建大数据处理流程图

    随着大数据的快速发展 构建高效的大数据技术架构成为了现代企业的一个重要任务 在本文中 我们将详细介绍如何构建一个大数据技术架构 并使用流程图展示其各个组成部分和数据处理流程 大数据技术架构的目标是处理和分析海量的数据 并从中提取有价值的信息
  • mmocr初体验

    目录 1 安装mmocr 1 1 首先安装pytorch 1 2 安装mmcv 1 3 安装mmdetection 1 4 安装mmocr 2 训练 2 1 准备数据 2 2 开启训练 2 3 测试 1 安装mmocr 官方依赖 pytor
  • 解决js中 replace()使用的时候只替换一个 不替换全部的方法

    今天在写代码的时候 使用 replace 进行替换 但是只替换了前一个 于是我就找了下 解决方法是给你需要替换的加上个g 原来的代码 这是将空格替换成 但是只替换第一个 replace 改良后的代码 replace g 这样就能全部替换了
  • Pytorch之经典神经网络RNN(三) —— LSTM(simple data)(手写LSTM&反向传播)

    1997年提出的 LSTM是一种特殊的RNN 表现突出 很好地解决了训练RNN过程中的各种问题 在几乎各类问题中都展现出远好于Vanilla RNN的表现 LSTM 和基本的 RNN 是一样的 他的参数也是相同的 长期依赖 Long Ter
  • 开发常见问题汇总

    1 git的问题 在团队开发中使用git作为项目的版本管理和团队协作的工具 避免不了会出现问题 在我们的项目中 由于idea整合了git 所以 配置idea即可使用git 具体配置是在 File gt settings gt Git中 配置
  • 前端vue项目埋点方案

    前端埋点方案 前端埋点主要分为以下三类 代码埋点 在需要埋点的地方添加埋点逻辑代码或自定义属性实现 可视化埋点 使用可视化的工具进行埋点 即无痕埋点 前端页面加载时根据埋点配置 自动调用接口上传埋点数据 无埋点 前端自动采集全部事件并上报埋
  • python框架专栏-Flask框架篇①-基本介绍和安装

    1 Flask简介 Flask诞生于2010年 是Armin ronacher 人名 用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架 Flask 本身相当于一个内核 其他几乎所有的功能都要用到扩展 邮件扩展F
  • LTE 网络UE端测量

    在LTE网络发生切换时首先需要激活UE端测量过程 UE端用户可采用以下方法实现 1 直接通过eNB的RRC实体实现 也是本文介绍 2 通过已有切换算法配置测量 3 开发新的切换算法并对其配置 首先需要研究测量的内容是什么 NS3通过LteR
  • 求二叉树第k层的结点个数

    tag 二叉树 层次遍历 思路 用层次遍历思路求解 辅助 队列 package com zhaochao tree import java util ArrayList import java util LinkedList import
  • Node.js EventEmitter事件

    Node js EventEmitter Node js 所有的异步 I O 操作在完成时都会发送一个事件到事件队列 Node js 里面的许多对象都会分发事件 一个 net Server 对象会在每次有新连接时触发一个事件 一个 fs r
  • Hibernate-操作数据库-类对象插入-1

    1为非带注解版本 框架 1为非带注解版本 工程框架 Student类 hibernate cfg xml log4j properties Student hbm xml StudentTest类 数据库结构以及表的设计 基于hiberna
  • allegro中pcb文件检查之dangling--line,danging--via

    在日常中 将PCB绘制完成后经常需要对于断线进行检查 在allegro中 可以快速进行检查并修改 步骤 tools quick report dangling lines via and antenna report 即可查看文件中的断线
  • CentOS8.4 配置本地yum源

    目录 挂载光盘 清除原仓库配置文件 配置本地仓库配置文件 查询本地已启用的仓库 尝试安装服务 此处以bind服务为例 易错点 下载链接 挂载光盘 root CentOS8 mkdir p mnt dvd root CentOS8 mount
  • 如何在IDEA中创建Web项目

    棒棒有言 也许我一直照着别人的方向飞 可是这次 我想要用我的方式飞翔一次 人生 既要淡 又要有味 凡事不必太在意 一切随缘 缘深多聚聚 缘浅随它去 凡事看淡点看开些 顺其自然 无意于得 就无所谓失 人生 看轻看淡多少 痛苦就远离你多少 本章
  • 强化学习12——动态规划与策略迭代和值迭代

    上一节我们说了马尔可夫决策过程 它是对完全可观测的环境进行描述的 也就是观测到的内容完整决定了决策所需要的特征 马尔可夫决策过程可以用方程组求解简单问题 但是对于复杂一点的问题 一般通过迭代的思想对其进行求解 动态规划是非常有效的求解马尔可
  • 计算着色器中线程的编号

    ID3D11DeviceContext Dispatch Method Execute a command list from a thread group Syntax void Dispatch in UINT ThreadGroupC
  • Rstudio与R的绑定和更新

    遇到新安装的R与Rstudio没有匹配或者想要更改R的版本 一些老的版本的安装包在新版R上可能不适用 可以如下操作 一 Rstudio与R的绑定 1 选择Tools里的Global Options选项 2 选择General更改R vers
  • webpack配置本地TypeScript编译环境和开启本地服务

    目录 1 创建一个文件夹 2 初始化一个package json文件对我们安装包进行记录 3 安装webpack 4 配置webpack config js文件 1 创建一个文件夹 2 初始化一个package json文件对我们安装包进行