手写MVVM框架-环境搭建

项目使用 webpack 进行进行构建,初始化步骤如下:

1.创建npm项目执行npm init 一直下一步就行

2.安装webpack、webpack-cli、webpack-dev-server,html-webpack-plugin

html 复制代码
npm i -D webpack webpack-cli webpack-dev-server html-webpack-plugin

3.配置webpack、 创建webpack.config.js 、配置启动命令

javascript 复制代码
const path = require('path')
const HtmlWebpackPlugin = require('html-webpack-plugin')

module.exports = {
  mode: 'development',
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: __dirname + '/dist',
    library: 'Aue' // 暴露一个全局变量
  },
  devServer: {
      hot: true,
      port: 3000
  },
  resolve: { // 解析规则
    extensions: ['.js'] // 在js文件中引用其他js文件可以不用写后缀名
},
  plugins: [
    new HtmlWebpackPlugin({
      template: path.resolve(__dirname, 'public/index.html')
    })
  ]
}
javascript 复制代码
{
  "name": "mini-vue",
  "version": "1.0.0",
  "description": "",
  "scripts": {
    "dev": "webpack-dev-server --config webpack.config.js",
    "build": "webpack --config webpack.config.js --mode production"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "html-webpack-plugin": "^5.6.3",
    "webpack": "^5.97.1",
    "webpack-cli": "^6.0.1",
    "webpack-dev-server": "^5.2.0"
  }
}

创建调试的html页面
根目录创建public文件夹,并在文件夹内部创建index.html,里面的代码如下(bundle.js 是webpack打包的mvvm代码)

html 复制代码
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <div id="container">
            Hello World {
   
   {name}} {
   
   {description}}
            <div class="des">{
   
   {description}}</div>
        </div>
        <script src="./bundle.js"></script>
    </body>
</html>
  • 创建webpack入口文件,目录在根目录 src/index.js 并在webpack中配置入口文件(webpack.config.js)
执行npm run dev 访问http://localhost:3000
Ok!webpack搭建完,下一步开始写代码!!!
相关推荐
弹简特1 小时前
【Vue3速成】01-npm+vue初体验+vite构建vue工程化
vue.js·arcgis·npm
摸鱼小李上线了1 小时前
vue项目页面添加水印实现方法
前端·javascript·vue.js
星栈2 小时前
Rust 全栈项目里,我写了一个不再重复造轮子的泛型表格组件
前端·前端框架·开源
Maimai108082 小时前
React 多步骤表单工程化落地:从 Zod Schema、React Hook Form 到 Zustand 持久化
前端·javascript·react.js·前端框架·状态模式
Maimai108082 小时前
React Query + Zustand 正确结合方式:不要把接口数据复制进 Store
前端·javascript·react.js·前端框架·web3·状态模式
i220818 Faiz Ul3 小时前
智慧养老平台|基于SprinBoot+vue的智慧养老平台系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·智慧养老平台
Lkstar3 小时前
Pinia 进阶:Setup Store、插件系统与状态持久化,一篇全搞懂
前端·vue.js
Nikluas3 小时前
彻底搞懂 Vue 运行时的四大核心谜题:Render、Effect、Diff 算法与 Block Tree 演进
vue.js·面试
Aolith3 小时前
手机端刷新总是 404?你需要知道 SPA Fallback 规则
前端·vue.js
Maimai108083 小时前
Zustand 项目落地:从全局状态、Store 拆分到真实业务封装
前端·react.js·前端框架·状态模式