手写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搭建完,下一步开始写代码!!!
相关推荐
回忆哆啦没有A梦2 小时前
Vue页面回退刷新问题解决方案:利用pageshow事件实现缓存页面数据重置
前端·vue.js·缓存
A_ugust__3 小时前
vue3+ts 封装跟随弹框组件,支持多种模式【多选,分组,tab等】
前端·javascript·vue.js
林九生3 小时前
【Vue3】v-dialog 中使用 execCommand(‘copy‘) 复制文本失效的原因与解决方案
前端·javascript·vue.js
小菜全5 小时前
《React vs Vue:选择适合你的前端框架》
vue.js·react.js·前端框架
真的想不出名儿7 小时前
vue项目引入字体
前端·javascript·vue.js
笨蛋不要掉眼泪8 小时前
SpringBoot项目Excel成绩录入功能详解:从文件上传到数据入库的全流程解析
java·vue.js·spring boot·后端·spring·excel
Baklib梅梅9 小时前
优秀文档案例解析:打造高效用户体验的最佳实践
前端·ruby on rails·前端框架·ruby
奶糖 肥晨11 小时前
Uniapp 开发中遭遇「可选链赋值」语法陷阱:一次编译错误排查实录
javascript·vue.js·uni-app
belldeep11 小时前
python:Django 和 Vue.js 技术栈解析
vue.js·python·django
知识分享小能手12 小时前
微信小程序入门学习教程,从入门到精通,微信小程序页面制作(2)
前端·javascript·学习·微信小程序·小程序·前端框架·notepad++