• webpack4之路(1)-安装


    1.查看相关环境配置,并安装

    node -v // 查看node版本  v10.16.3
    npm -v // 查看npm版本 6.9.0

    如果没有安装node的话,必须先安装。

    因为我是在windows环境下安装,所以步骤如下:

    1.到官网下载相应的版本(https://nodejs.org/en/download/

    2.选择相应的安装目录 我的目录是C:Program Files

    3.在高级系统设置 -> 配置环境变量 -> NODE_PATH:C:Program Files odejs ode_modules 即变成全局安装

    tips:npm是Nodejs平台的默认包管理工具,由于新版的NodeJS已经集成了npm,所以npm会随同NodeJS一起安装。

    进入正题,webpack的安装:

    npm install webpack webpck-cli -g // 全局安装webpack  4.42.0

    记录下我踩的坑,由于我是把node安装在系统盘,权限要求高所以安装时报错

    Error: EPERM: operation not permitted, mkdir 'C:UsersYi閺呭�鍣綷AppDataRoaming
    pm'

    我的解决方法是:使用win+x,选择命令提示符(管理员),继续安装即成功了.

    干活了。。。

    1.新建一个空文件夹,用于创建项目,在终端中进入文件夹。我是把文件放到了D:studywebpack,然后用命令进入该位置

    npm init   // 创建一个package.json文件

    输入命令后,终端会提示输入项目名称(webpack_demo)、版本、描述、作者等相关信息,如果你不打算发布这个模块,可以一直按回车键即可。也可以使用 npm init -y 一次性安装,这样终端就不会询问你刚才的问题。如果你需要修改刚刚输入的信息可以到package.josn文件内进行修改。

    2.在package.json同级目录创建scripts文件夹,并创建index.js文件

    index.js

    let body = document.getElementsByTagName("body")[0]  // 一定要加下标,如果直接用TagName获取会获取到一个数组,使用appendChild会报错
    let div = document.createElement('div')
    div.innerText = 'init webpack'
    body.appendChild(div)

    3.创建webpack.conf.js文件

    webpack.conf.js

    const path = require('path')
    module.exports = {
        entry: {
            index: './scripts/index.js' // 入口文件,若不配置webpack4将自动查找src目录下的index.js文件
        },
        output: {
            filename: '[name].bundle.js', // 输出文件名,[name]表示入口文件js名
            path: path.join(__dirname, 'dist') // 输出文件路径
        }
    }

    4.现在就可以执行打包命令查看效果了

    webpack --mode development

    效果:

    打包完成后你会看到新增了一个dist文件夹,里面就打包出来的内容啦~~

    4.创建index.html

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    </body>
    <script src="./dist/index.bundle.js"></script> // 引入js
    </html>

    终于可以看效果了,来吧。打开你的index.html

     到这里,你的webpack就已经打包、引入都成功了。yeah.给自己鼓个掌。…………但不幸的告诉这才刚刚开始呢。我们一起深入学习吧。

    构建本地服务器

    现在我们是通过本地页面打开页面的,看起来有点low。现在我用试着用启动本地服务来打开,开始吧……

    1.安装 webpack-dev-server ,这是Webpack提供的提供的一个可选本地开发服务器,是基于node构建的,它是个单独的组件,所以先把这个依赖先安装了。

    npm install webpack-dev-server -g

    2.配置webpack.conf.js

    webpack.conf.js

    const path = require('path')
    module.exports = {
    mode: 'development',
    entry: {
    index: './scripts/index.js' // 入口文件,若不配置webpack4将自动查找src目录下的index.js文件
    },
    output: {
    filename: '[name].bundle.js', // 输出文件名,[name]表示入口文件js名
    path: path.join(__dirname, 'dist') // 输出文件路径
    },
    devServer: {
    host: 'localhost', // 主机地址
    compress: true, // 开发服务器是否启动gzip等压缩
    contentBase: 'dist',//开发服务运行时的文件根目录
    open:true, // 自动打开浏览器
    inline: true, // 当源文件改变时会自动刷新页面
    port: 9000 // 监听的端口
    }
    }

    3.在package.json中的scripts对象中添加如下命令,用以开启本地服务器:

    "server": "webpack-dev-server"

    4.执行 npm run server,如果安装了淘宝镜像就执行 cnpm run server

    但是这里我遇到了这个自己给自己挖的坑

     看明白了吗?是没有找到webpack下的internal/modules下面的那个文件。原因是我之前是全局安装的,解决方法如下:

    npm link webpack

    运行完后是这样的,

     恭喜你,可以运行刚刚的命令了,你就成功了。这么激动的时候当然要 上图

     这样我们便可以在http://localhost:9000/中查看页面(退出服务可以连续两次ctrl + c 或者 一 次ctrl + c 然后按y 确认便可以退出服务器)

    查阅资料:

    1)https://blog.csdn.net/wang839305939/article/details/85855967 (webpack中publicPath和contentBase的区别)

    2)https://www.cnblogs.com/BetterMan-/p/9867642.html (webpack4.X讲解)

      

  • 相关阅读:
    几款JS地图插件比较
    Objective-C ,ios,iphone开发基础:多个视图(view)之间的切换2,使用导航栏控制,以及视图之间传值。
    学习嵌入式—导火线
    Linux MySQL 5.1源码安装
    QT 一些非常常用的操作
    QT 下把编辑框内的中文字符转换为 char*
    delphi datasnap 心跳包
    ddd
    Qt 如何处理密集型耗时的事情(频繁调用QApplication::processEvents)
    Python基础-输入输出(IO)
  • 原文地址:https://www.cnblogs.com/yilihua/p/12445605.html
Copyright © 2020-2023  润新知