美文网首页
初识webpack

初识webpack

作者: 追逐_e6cf | 来源:发表于2019-02-22 19:56 被阅读0次

    webpack 是一个现代 JavaScript 应用程序的静态模块打包器。简单的说,webpack是一个构建工具,帮助我们将开发好的项目打包,然后我们可以部署到生产环境。
    首先我们需要全局安装webpack:cnpm i -g webpack。安装完成后使用webpack -v查看版本号。
    然后在桌面新建一个文件夹hellowebpack,在这个文件夹下初始化项目npm init,一路回车,这样文件夹下就多了一个package.json文件。接着使用cnpm i -S webpack在此项目文件下安装webpack。
    然后在项目文件下新建一个src文件夹用于存放项目文件,在src文件夹下新建一个app.js文件,内容写上console.log("hello webpack");保存。最后在项目根目录下新建一个webpack.config.js配置文件,webpack官网有配置示例,这里我改成下面内容:

const path = require('path');

module.exports = {
    entry: './src/app.js',
    output: {
        path: path.resolve(__dirname, 'dist'),
        filename: 'app.bundle.js'
    }
};

    回到项目根目录下直接使用webpack即可直接启动,如果启动失败,则需要配置一下环境变量,百度一下即可,添加一个系统变量,变量名为:NODE_PATH,变量值为:你的npm下的node_modules文件夹。然后重新启动webpack即可,不带参数,默认是webpack -p,即在生产环境打包,打包完成后,在项目根目录下多了一个dist文件夹,里面是app.bundle.js打包好的文件,里面默认是打包成了一行代码,如果希望在开发环境打包,则前面使用webpack -b,这样打包好的文件就是正常的多行代码了。除了指定参数,还可以在webpack.config.js文件里指定参数mode: 'development'mode: 'production',分别对应开发环境和生产环境。

module.exports = {
    mode: 'production'
};

    在使用webpack命令打包时还可以加上参数--watch,这样打包的文件就可以时刻监视要打包的文件的状态,如果要打包的文件内容改变后,就可以实现自动打包。

相关文章

  • 初识webpack4.x(一)

    系列文章 初识webpack(一) 初识webpack(二)之常用插件配置 初始webpack(三)之环境分离终结...

  • webpack 初识

    1.Webpack是什么,它有什么作用 把你的项目当做一个整体,通过一个给定的主文件(如:index.js),We...

  • 初识Webpack

    标签(空格分隔): 前端 Webpack 是当下最热门的前端资源模块化管理和打包工具。它可以将许多松散的模块按照依...

  • 初识 webpack

    1. 初始化项目 首先,让我们用命令行创建一个名为 webapp 的项目文件夹,初始化 npm,本地安装 webp...

  • webpack初识

    webpack-demo Git Repowebpack-API Concepts 概念 At its core,...

  • 初识webpack

    今天有空,刚好学习了一点webpack相关的知识,在这里整理一番。 下面会给上我的GitHub,里面有6个小dem...

  • webpack 初识

    webpack 构建流程 初始化参数,从配置文件和 shell 语句中读到的参数合并,得到最后的参数 开始编译:用...

  • webpack初识

    1. webpack是什么? webpack是一个模块化开发的打包工具,基于nodejs开发的 2. webpac...

  • webpack初识

    首先我们通过一个简单的例子,让webpack去解析es module html index.js header.j...

  • 初识webpack

    1 webpack是什么? Webpack是一个开源的JavaScript模块打包工具,其最核心的功能是解决模块之...

网友评论

      本文标题:初识webpack

      本文链接:https://www.haomeiwen.com/subject/qbhyyqtx.html