【初体验】【学习】Web Component

news/2025/1/15 5:56:09/

序言

欢迎来到2025年的第一篇博客!新的一年,将持续深耕于新知识的html" title=学习>学习,并不断深化对已有知识的理解。目标是构建一个更加系统化、结构化的知识体系,以更好地应对未来的挑战与机遇。

前言

需要以下基础:

  • Web Component
  • JavaScript
  • HTML
  • CSS

假设您已经了解所有知识点,并且您的环境中已安装了 Node.js和npm ,我们现在可以进行下一步。

创建项目

首先,我们需要创建一个新的项目目录,并初始化项目:

mkdir web-component-demo
cd web-component-demo
npm init -y

安装依赖

接下来,我们需要安装一些必要的依赖:

npm install --save-dev webpack webpack-cli webpack-dev-server style-loader html" title=css>css-loader html-webpack-plugin 

配置 Webpack

在项目根目录下创建一个 webpack.config.js 文件,并添加以下内容:

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
/*** @type {import ("webpack").Configuration}*/
module.exports = {mode: "development",entry: path.resolve(__dirname, "./src/index.js"),output: {path: path.resolve(__dirname, "dist"),filename: "index.bundle.js",},module: {rules: [{test: /\.html" title=css>css$/,use: ["style-loader", "html" title=css>css-loader"],},],},plugins: [new HtmlWebpackPlugin({template: path.resolve(__dirname, "./public/index.html"),}),],
};

创建项目结构

在项目根目录下创建以下目录和文件:

web-component-demo/
├── public/
│   └── index.html
├── src/
│   ├── index.js
│   └── styles.html" title=css>css
├── package.json
└── webpack.config.js

编写 HTML 文件

public/index.html 文件中添加以下内容:

html"><!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Web Component Demo</title></head><body><my-component></my-component></body>
</html>

编写 JavaScript 文件

src/index.js 文件中添加以下内容:

import "./styles.html" title=css>css";class MyComponent extends HTMLElement {constructor() {super();}connectedCallback() {this.className = "wrapper";this.textContent = "Hello, Web Component!";}
}customElements.define("my-component", MyComponent);

编写 CSS 文件

src/styles.html" title=css>css 文件中添加以下内容:

html" title=css>css">.wrapper {font-size: 20px;color: blue;
}

启动开发服务器

package.json 文件的 scripts 部分添加以下内容:

"scripts": {"start": "webpack serve --open"
}

然后运行以下命令启动开发服务器:

npm start

总结

通过以上步骤,我们创建了一个简单的 Web Component 项目,并使用 Webpack 进行打包和开发服务器的配置。欢迎在评论区分享您的意见和建议。


http://www.ppmy.cn/news/1563238.html

相关文章

弥散张量分析开源软件 DSI Studio 简体中文汉化版可以下载了

网址&#xff1a; (63条消息) DSIStudio简体中文汉化版(2022年7月)-算法与数据结构文档类资源-CSDN文库

Github 2025-01-13 开源项目周报 Top15

根据Github Trendings的统计,本周(2025-01-13统计)共有15个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目8TypeScript项目5C项目1Go项目1C++项目1Objective-C项目1HTML项目1Jupyter Notebook项目1OpenHands: 人工智能驱动的软件开发代理平台…

【C++】21.map和set的使用

文章目录 1. 序列式容器和关联式容器2. set系列的使用2.1 set和multiset参考文档2.2 set类的介绍2.3 set的构造和迭代器构造函数&#xff1a;双向迭代器迭代器&#xff1a; 2.4 set的增删查2.5 insert和迭代器遍历使用样例&#xff1a;2.6 find和erase使用样例&#xff1a;2.7 …

【机器学习 | 数据挖掘】离群点检测

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈智能大数据分析 ⌋ ⌋ ⌋ 智能大数据分析是指利用先进的技术和算法对大规模数据进行深入分析和挖掘&#xff0c;以提取有价值的信息和洞察。它结合了大数据技术、人工智能&#xff08;AI&#xff09;、机器学习&#xff08;ML&a…

一文大白话讲清楚Node中的流stream

文章目录 一文大白话讲清楚Node中的流stream1. 啥是流stream2. stream的种类2.1 可写流2.2 可读流2.3 双工流2.4 转换流 3.应用场景3.1 双工流babel3.2 文件操作3.3 打包工具的实现 一文大白话讲清楚Node中的流stream 1. 啥是流stream 先举个例子&#xff0c;你要把大桶水从A…

基于YOLOv8与CGNet的鸟类智能识别系统 深度学习图像分类 鸟类目标检测与分类 图像特征提取 模型优化与应用 数据可视化(源码+指导+定制)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

改进萤火虫算法之八:量子萤火虫算法(Quantum-behaved Firfly Algorithm,QFA)

量子萤火虫算法(Quantum-behaved Firfly Algorithm,QFA)是对萤火虫算法的一种改进,旨在提升萤火虫个体的搜索能力。以下是对量子萤火虫算法的详细介绍: 一、萤火虫算法基础 萤火虫算法(Firefly Algorithm,FA)是一种基于群体智能的优化算法,由剑桥大学的Xin-She Yang在…

深入理解观察者模式 —— Qt信号槽机制的实现

观察者模式是一种行为型设计模式&#xff0c;允许一个对象&#xff08;被观察者&#xff09;状态发生变化时通知一组依赖它的对象&#xff08;观察者&#xff09;&#xff0c;从而实现对象之间的解耦。在这篇文章中&#xff0c;我们将探讨如何用 C 和 Python 实现观察者模式&am…