探究Vue源码:mustache模板引擎(5) 对比rollup与webpack,在本地搭建webpack环境

好 从本文开始 我们就来手写一下mustache这个库
他是模板引擎的一个祖先
将模板字符串编译成一个dom字符串 就是它的思想,这也是一个具有跨时代意义的思想

这里的话 我们还是搭一个 webpack 的项目环境
这里值得一提的是 mustache 他官方是通过rollup来进行打包的 很多第三方库其实都是用rollup打包
首先对比rollup webpack肯定就能提供更好的开发体验,因为他能创造出一个热更新环境
会被node的控制台更好用
rollup的话 更擅长的时 将多个js文件打包到一起 但是 它本身没什么开发体验 或者是 体验并不好

然后 我们在本地创建一个文件夹 叫 mustacheDom
在这里插入图片描述
然后用编辑器打开这个目录

然后 在终端执行

npm init

然后全部按回车

这样 我们就创建了一个项目
在这里插入图片描述
然后 我们引入一下webpack 在终端执行

npm i -D webpack@5 webpack-cli@3 webpack-dev-server@3

这样 我们的依赖包就进来了
在这里插入图片描述
然后 我们在项目根目录下创建一个文件 叫 webpack.config.js
用来配置我们webpack的运行信息和模式

然后 webpack.config.js 参考代码如下

//通过node获取到当前文件的位置
const path = require('path')

module.exports = {
    
    
    //设置当前入口文件
    entry: './src/index.js',
    //出口配置
    output: {
    
    
      //设置打包后文件的名字
      filename: 'bundle.js',
      //设置虚拟打包  文件并不会真正打包到项目中 而是出现在指定端口上
      publicPath: 'xuni'
    },
    devServer: {
    
    
        port: 8080,
        contentBase: 'www'
    }
}

这个配置是webpack一个比较基本的案例 然后 他上面指定 入口文件是 同目录下的 src下的 index.js
所以 这个文件我们需要创建一下
在这里插入图片描述
这里 我们创建文件之后 编写了 输出一个文本 用来验证环境已经启动成功

但是 我们 contentBase 指向的是一个 www 文件夹 热服务会运行这个文件夹下的index.html
然后 我们也将这个目录文件创建出来
在这里插入图片描述
www下的 index.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>
    <script src = "/xuni/bundle.js"></script>
</body>
</html>

这里 我们根据 webpack.config.js 配置 引入了他这个运行后会生成在虚拟路径下的xuni/bundle.js
在这里插入图片描述
然后 我们看到项目中的 package.json
打开它 在内容中找到 scripts
给他加一条启动命令

"serve": "webpack-dev-server"

webpack-dev-server用于启动webpack的运行环境
在这里插入图片描述

然后 我们直接在终端执行

npm run serve

然后 服务就起来了 控制台会将端口号给我们
在这里插入图片描述
我们通过端口号 在浏览器中访问服务
在这里插入图片描述
显然没有任何问题

好这样 我们webpack的一个环境就起来了

猜你喜欢

转载自blog.csdn.net/weixin_45966674/article/details/131634782