1.webpack简介

webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。它可以将许多松散的模块按照依赖和规则打包成符合生产环境部署的前端资源

1.1.webpack安装

在安装webpack之前你需要先安装Node.js,最理想的Node.js版本是长期支持版本(LTS - Long Term Support)

查看Node.js版本

node -v 

1.1.1.全局安装

npm install -g webpack

查看版本

webpack -v

1.1.2.本地安装

通常我们会将 Webpack 安装到项目的依赖中,这样就可以使用项目本地版本的 Webpack。 首先你需要进入到你的项目目录,然后运行下面的命令

npm install webpack --save-dev

2.初识打包

2.1 项目初始化

1.创建一个目录,并且切换到目录下面

mkdir webpack-demo && cd webpack-demo

2.npm初始化并本地安装webpack

npm init -y  # 会在本地生成一个package.json的文件
npm install webpack --save-dev # --save-dev 开发依赖

3.在webpack-demo目录下创建对应的目录和文件

mkdir  src  && cd src   #src 目录 用来存放源文件

touch index.js  # 创建一个入口文件
touch moudel1.js module2.js module3.js #创建3个模块

4.index.js 文件内容

import module_1 from './module1'
import module_2 from './module2'
import module_3 from './module3' module_1()
module_2()
module_3()

  

5.module1.js文件内容

export default function module_1() {
console.log("这是module_1模块")
}

  

6.module2.js文件内容

export default function module_2() {
console.log("这是module_2模块")
}

7.module3.js文件内容

export default function module_3() {
console.log("这是module_3模块")
}

  

8.现在,需要返回到项目的根目录,也就是webpack-demo目录下,新建一个配置文件

touch webpack.config.js

  

9.写入配置内容

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

  

10.找到根目录下package.json文件,在script后的对象中,添加内容

{
"name": "webpack-demo",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"webpack": "^3.8.1"
}
}

注意:"dev": "webpack"为新增内容

11.最后,需要运行命令打包

npm run dev

  

webpack最佳入门实践系列(1)的更多相关文章

  1. webpack最佳入门实践系列(6)

    10.css模块化 10.1.什么是css模块? CSS模块就是所有的类名都只有局部作用域的CSS文件,当你在一个JavaScript模块中导入一个CSS文件时,CSS模块将会定义一个对象,将文件中类 ...

  2. webpack最佳入门实践系列(5)

    9.路径相关 原来我们打包的东西都存放到了dist目录下,并没有进行分类存储,乱成一团,这一节我们就要处理一下打包的路径,让打包后的目录看起来更加优雅 9.1.代码准备 我们先建立起这样一个目录结构 ...

  3. webpack最佳入门实践系列(4)

    7.使用字体 7.1.安装字体库-font-awesome 我们通过npm来安装字体 npm install font-awesome --save 这个时候,我们的package.json配置文件变 ...

  4. webpack最佳入门实践系列(3)

    6.使用图片 6.1.尝试在css中引入图片 在src目录下新建css文件夹,并且在css文件夹下创建app.css文件,在src目录下新建images文件夹,放入一张图片,在app.css中引入这张 ...

  5. webpack最佳入门实践系列(2)

    3.插件 在前端迅速发展的今天,许多没有太多技术含量并且感觉是在浪费时间的事情,就可以交给构建工具来做,例如:我们去手动创建index.html,手动引入打包好的js文件等操作,都可以叫个webpac ...

  6. webpack的入门实践,看这篇就够了

    webpack的入门实践 我会将所有的读者概括为初学者,即使你可能有基础,学习本节之前我希望你具有一定的JavaScript和node基础 文中的 ... ...代表省略掉部分代码,和上面的代码相同 ...

  7. 【Vuejs】301- Vue 3.0前的 TypeScript 最佳入门实践

    前言 我个人对更严格类型限制没有积极的看法,毕竟各类转类型的骚写法写习惯了. 然鹅最近的一个项目中,是 TypeScript+ Vue,毛计喇,学之...-真香! 1. 使用官方脚手架构建 npm i ...

  8. python 最佳入门实践

    勿在浮沙筑高台,无论什么技术,掌握核心精神和api,是很重要的. 但是入门过程也可能不是一帆风顺的,这里有八个入门任务,看看你完成了没有: http://code.tutsplus.com/artic ...

  9. es6+最佳入门实践(13)

    13.模块化 13.1.什么是模块化 模块化是一种处理复杂系统分解为更好的可管理模块的方式.通俗的讲就是把一个复杂的功能拆分成多个小功能,并且以一种良好的机制管理起来,这样就可以认为是模块化.就像作家 ...

随机推荐

  1. eclipse中的字体大小设置和背景色设置

    1.字体大小设置 在basic下选择最后一个TextFont 护眼背景色设置 添加到自定义颜色后点确定 最后一步点apply

  2. 理解Express 中间件

    Express 中间件 Express程序基本上是一系列中间件函数的调用.中间件就是一个函数, 接受 req.res.next几个参数. 中间件函数可以执行任何代码, 对请求和响应对象进行修改, 结束 ...

  3. Linux下的GPT分区,使用parted命令

    Linux下的GPT分区,这是另外一种分区,针对MBR分区,它有很多优点: (1)几乎突破了分区个数的限制. 在GPT分区表中最多可以支持128个主分区. (2)单个分区容量几乎没有限制. 单个分区最 ...

  4. vue框架初学习的基本指令

           学习地址:<ahref="https: cn.vuejs.="" org="" "="" targe ...

  5. sigqueue与kill详解及实例

    /*********************************************************************************************** 相关函 ...

  6. 网络流_Edmond-Karp算法、Dinic算法

    转载:网络流基础篇——Edmond-Karp算法             BY纳米黑客 网络流的相关定义: 源点:有n个点,有m条有向边,有一个点很特殊,只出不进,叫做源点. 汇点:另一个点也很特殊, ...

  7. JS - 箭头函数与 () {} 的作用域

    foo () { // ... } 等价于 foo: function () { // ... } foo: () => { // ... } 范例: // 全局 name = 'zhangsa ...

  8. Liunx环境--Node部署记录

    1.看看环境里有没有装Node which node 2.找个目录安装 (1)/usr/local/node/download 执行下载 wget https://nodejs.org/dist/v8 ...

  9. 排序算法C语言实现——插入排序(优于冒泡)

    为什么插入排序要优于冒泡? 插入排序在于向已排序序列中插入新元素,主要的动作是移动元素,涉及1次赋值,即data[j] = data[j-1]; 而冒泡排序在于相邻元素交换位置,涉及3条赋值,即iTm ...

  10. greenplum-时间处理

    工作中遇到,需要改变两周以前的数据状态,于是查了下资料,原来数据库直接就可以处理,所以分享给大家! 在PostgreSQL中可以直接对时间进行加减运算:. SELECT now()::timestam ...