1、创建项目文件夹 myapp

手动创建myapp,或mkdir myapp

2、cd myapp

3、npm init (初始化项目)

4、一路回车(关于项目信息的填写,可以不写,一路回车即可)

可以在此步骤中填写一些项目信息,也可以在第5步骤完成后填写

5、以上步骤结束,myapp文件夹中创建了package.json文件

package.json文件:

{
"name": "myapp",//项目名称
"version": "1.0.0",//项目版本号
"description": "startApp about books",//项目说明描述
"main": "index.js",//主文件(入口文件)
"scripts": {//指定一系列指令
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Ada",//作者
"license": "ISC"//许可证
}

package.json文件是关于配置的一些说明,包括:

  • 展示项目npm所依赖的包
  • 项目的基本信息

6、npm install webpack --save-dev(安装webpack)

使用了 --save-dev 表示在开发环境中使用

安装完webapck会创建一个node_modules 文件夹,用来存放npm命令安装的软件,同时package.json 文件会记录该项目的元信息,以及一些依赖包信息等。

*注意:当前练习使用3版本webpack,4版本需要安装webpack-cli

7、创建页面文件index.html和入口文件index.js

创建一个index.html存放页面内容,放到 dist/ 目录下,创建一个index.js入口文件,放到 src/ 目录下。目录结构大概如下:

├── dist
│ └── index.html
├── node_modules
├── package.json
└── src
└── index.js

PS: 所谓入口文件就是从这个文件中引入的资源都会被Webpack统一打包处理,无论它是图片资源,样式资源,还是JS资源。Webpack会根据配置对不同类型的资源文件进行不同方式的处理。

8、在根目录下创建 webpack.config.js 文件

使页面文件index.html和入口文件index.js关联

webpack.config.js文件内容大致如下:

const path = require('path');

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

9、运行命令 webpack

在窗口输入 webpack 回车,则编译并打包相应的文件,当前的目录结构大致如下:

.
├── dist
│ ├── bundle.js
│ └── index.html
├── node_modules
├── package.json
├── src
│ └── index.js
└── webpack.config.js

10、在页面文件index.html引入bundle.js文件即可

index.html文件

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

*注意: 以上10个步骤结束,一个基本的项目已经构建完成


11、让页面自动刷新

npm install --save-dev webpack-dev-server

12、简单配置一下webpack.config.js文件,加上下面配置


module.exports = { .....
devServer: {
contentBase: './dist',
watchContentBase: true
},
};

13、运行指令: webpack-dev-server


*注意: 完成以上步骤后,就可以进行基本的开发了,修改文件可实现页面自动刷新,之后有需要什么依赖和加载器可以按需安装并配置即可


Webapck项目开发基本构建及配置的更多相关文章

  1. [Openwrt 项目开发笔记]:MySQL配置(六)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 在本人的项目中,运行在路由器上的服务器采用Ngi ...

  2. vue项目开发,用webpack配置解决跨域问题

    今天在本地开发时候碰到了跨域的问题,突然觉着跨域问题在所难免啊,之前没有没有碰到总觉着解决跨域很高大上的样纸,其实就是受限于网络的同源策略,跨域前后端都可以进行处理. 1,后端更改header hea ...

  3. node.js---sails项目开发(4)---配置MongoDB数据库连接

    1.安装sails对mongo的依赖 npm install sails-mongo --save 2. 配置mongo连接 修改config/connections.js: module.expor ...

  4. 分布式项目开发-springmvc.xmll基础配置

    基础步骤: 1 包扫描 2 驱动开发 3 视图解析器 4 文件上传解析器 5 拦截器 6 静态资源 <beans xmlns="http://www.springframework.o ...

  5. 分布式项目开发-spring-dao.xml基础配置

    基础步骤: 1 数据源 2 sqlSessionFactory 3 MapperScan 打包. db.properties文件 db.username=root db.password=123456 ...

  6. 分布式项目开发-web.xml基础配置

    <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http:// ...

  7. [openwrt 项目开发笔记]: 传送门

    “Openwrt 项目开发笔记”系列传送门: [Openwrt 项目开发笔记]:Openwrt平台搭建(一) (2014-07-11 00:11) [Openwrt 项目开发笔记]:Openwrt平台 ...

  8. node.js---sails项目开发

    http://sailsdoc.swift.ren/ 这里有 sails中文文档 node.js---sails项目开发(1)安装,启动sails node.js---sails项目开发(2)安装测试 ...

  9. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

随机推荐

  1. 北大青鸟Asp.net之颗粒归仓

    自从小编走进编程的世界以来,学习的编程知识都是和C/S这个小伙伴握手,直到做完牛腩老师的新闻发布系统,才开始了小编的B/S学习生涯,和B/S初次谋面,小宇宙瞬间爆发了,看着自己的第一个B/S系统,牛腩 ...

  2. Java初级面试题

    //1.请问执行下面的程序大致会输出类似什么内容? public class TestThisToString{ public String toString(){ return "my m ...

  3. Android用AlarmManager实现后台任务-android学习之旅(63)

    因为Timer不能唤醒cpu,所以会在省电的原因下失效,所以需要唤醒cpu在后台稳定化的执行任务,AlarmManager能够唤醒cpu 这个例子讲解了如何通过Service来在后他每一个小时执行.特 ...

  4. springMVC参数的传递方式(1.通过@PathVariabl获取路径参数,2.@ModelAttribute获取数据,3.HttpServletRequest取参,4@RequestParam)

     通过@PathVariabl注解获取路径中传递参数 JAVA      @RequestMapping(value = "/{id}/{str}")      public  ...

  5. android:layout_alignleft layout_toleftof区别,详解RelativeLayout布局属性

    转载请注明博客地址. 最近看博客看到有关于RelativeLayout布局的解释,有的解释很多是错误的.因此有必要对每一个常见的布局属性进行描述.以下解释全部都是逐行进行测试的. 首先把常用的布局分组 ...

  6. shell快捷键

    方向          <-前               后-> 删除 ctrl + d      删除光标所在位置上的字符相当于VIM里x或者dl ctrl + h      删除光标 ...

  7. 【shell脚本练习】判断用户存在和用户类型

    题目 写一个脚本 1. 传递一个参数给脚本,此参数为用户名: 2. 如果用户存在,则执行如下任务 * 如果用户的id号小于500,显示其为管理员或系统用户: * 否则,显示其为普通用户: 3. 如果用 ...

  8. 【一天一道LeetCode】#65. Valid Number

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Validat ...

  9. mongoDB基本使用(二)

    数据库基本操作 连接到mongoDB服务器 ./bin/mongo 127.0.0.1:12345  查看当前数据库 > show dbs admin  (empty) local  0.078 ...

  10. XBMC源代码分析 7:视频播放器(dvdplayer)-输入流(以libRTMP为例)

    前文分析了XBMC的基本结构: XBMC源代码分析 1:整体结构以及编译方法 XBMC源代码分析 2:Addons(皮肤Skin) XBMC源代码分析 3:核心部分(core)-综述 XBMC源代码分 ...