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. 【一天一道LeetCode】#342. Power of Four

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

  2. android studio——Failed to set up SDK

    最近使用android studio ,在IDE里面使用Gradle构建的时候,一直出现构建失败,失败信息显示Failed to set up SDK.然后 提示无法找到andriod-14平台,我更 ...

  3. Android Studio科普篇——2.误区

    1.删除一行是ctrl+x? 这是一个被谣传得很广泛的快捷键,但其实删除一行的快捷键不是ctrl+x,而是ctrl+y.ctrl+x在不选中内容的情况下,是剪切当前行,而ctrl+y才是删除当前行,它 ...

  4. MyEclipse9安装Checkstyle5.5插件(图解)

    ①首先下载Eclipse Checkstyle Plug-in     官方首页:http://sourceforge.net/projects/eclipse-cs/files/     最新版为: ...

  5. 今天我成为了CSDN博客专家

    刚刚收到了来自CSDN的回复,正如我的期待: 我随即回到自己的博客页面,欣喜地看到"专家"勋章被点亮了.Oh, yeah~ Q:我为什么要申请这个"专家"称号? ...

  6. flume1.4.0 保存文件到hdfs错误调试

    报错如下 解决方案:将FLUME_HOME/lib目录下的jar文件,替换成HADOOP_HOME/share/hadoop/common/lib下版本更新的jar文件

  7. Java 8新特性探究(三)泛型的目标类型推断

    简单理解泛型 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是"类型的变量".这种类型变量可以用在类.接口和方法 ...

  8. “XcodeGhost”病毒之后,苹果更应注…

    虽然大家都在期待中秋假期的到来,不过让开发者挺闹心的一件事就是这几天网上.朋友圈以及各种群中炒得沸沸扬扬的"XcodeGhost"病毒事件,就连央视也惊动了!! 事件起源 事件起源 ...

  9. C语言符号优先级

    优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右   () 圆括号 (表达式)/函数名(形参表)   . 成员选择(对象) 对象.成员名   -& ...

  10. python的read() 、readline()、readlines()、xreadlines()

    先来一个小例子: import sys dir= os.path.dirname(os.path.abspath(__file__)) file_path='%s/test.txt'  % dir f ...