# Webpack Project Build
1.创建一个项目目录文件夹
  如:D:/demo
2.打开demo文件夹,按住Shift + 鼠标右键,选择【在此处打开命令窗口】
3.初始化npm,生成package.json文件
  npm init -y
  这是为了便于日后项目包的管理及发布,详情请查阅https://docs.npmjs.com
4.安装 webpack
【安装最新版本】
  npm install --save-dev webpack
【安装特定版本】
  npm install --save-dev webpack@<version>
5.安装 webpack 4+ 版本
  npm install --save-dev webpack-cli
6.创建webpack.config.js文件
  配置请参考官方文档:
  https://www.webpackjs.com/configuration/#%E9%80%89%E9%A1%B9
7.编辑package.json文件
  将:
  "main": "index.js"
  替换为:
  "private": true
  这一步官网介绍是为了确保我们安装包是私有的(private),移除 main 入口,可以防止意外发布你的代码。
常见项说明:
--name:项目名称。(默认: 当前目录名称)
--version:项目版本。(默认: 1.0.0)
--description:项目描述。(默认: 来自README的信息 || "")
--keywords:项目关键词。
--homepage:项目官网地址。
--license:项目许可证。
--author:项目作者。
--contributors:项目贡献者。
--files:值为数组类型,
    a.为执行"npm pack"时需要包含的文件
    b.需为根目录文件(其可以是文件名或文件夹名,当为文件夹名时将包含其下的所有子文件及子文件夹)
    c.默认为["*"],包含所有文件(当使用默认值时,可在根目录创建".npmignore"文件来指定排除哪些文件,语法与".gitignore"类似)
--main:程序的主要入口点,当另一个应用程序需要您的模块时将加载的文件的名称。(默认: index.js)
--repository:项目代码存放地址,对想要为你的项目贡献代码的人有帮助
      eg: { "type" : "git", "url" : "https://github.com/npm/cli.git"}
--config:项目配置{\\尚有疑问\\}
    eg:"config" : { "port" : "8080" }
    a.可通过"process.env.npm_package_config_port"来调用
    b.可通过"npm config set foo:port 8001"来修改其配置
--dependencies:您的应用程序在生产中所需的包。
--devDependencies:仅为本地开发和测试所需的包。
--private:当为"true"时npm将不允许您发布该项目
--scripts:值为对象类型,指定了项目的生命周期个各个环节需要执行的命令(默认: 一个空test脚本)
——prepublish:在打包并发布包之前运行,以及在没有任何参数的本地npm安装之前运行
——prepare:在打包和发布包之前运行,在没有任何参数的本地"npm install"上运行,以及安装git依赖项时。这是在preublish之后运行,但是在preublishOnly之前运行
——prepublishOnly:在包准备和打包之前运行,仅限于npm发布
——prepack:在打包tarball之前运行(在"npm pack","npm publish",以及安装git依赖项时
——postpack:在生成tarball之后运行并移动到其最终目标
——publish,postpublish:在包发布后运行
——preinstall:在安装软件包之前运行
——install,postinstall:安装包后运行
——preuninstall,uninstall:在卸载软件包之前运行
——postuninstall:在卸载软件包之后运行
——pretest, test, posttest:由"npm test"命令运行
——prestop, stop, poststop:由"npm stop"命令运行
——prestart, start, poststart:由"npm start"命令运行
——prerestart, restart, postrestart:由"npm restart"命令运行
——preshrinkwrap, shrinkwrap, postshrinkwrap:由"npm shrinkwrap"命令运行
另外,也可以通过"npm run <stage>"来运行指定的脚本。当前除了上述这些生命周期以外,你也可以自定义一些可以通过"npm run"来执行的脚本指令
eg:"scripts": { "dev":"node app.js" }
执行cli命令:"npm run dev" 就可以运行 "node app.js"
详情请参考官方文档:https://docs.npmjs.com/misc/scripts
详细package.json文件配置请参考官方文档:
https://docs.npmjs.com/files/package.json.html
在博客园也发现一个很好的非常详情的中文翻译版:
https://www.cnblogs.com/tzyy/p/5193811.html#_h1_9

Webpack基础入门学习笔记的更多相关文章

  1. ElasticSearch基础入门学习笔记

    前言 本笔记的内容主要是在从0开始学习ElasticSearch中,按照官方文档以及自己的一些测试的过程. 安装 由于是初学者,按照官方文档安装即可.前面ELK入门使用主要就是讲述了安装过程,这里不再 ...

  2. Linux基础入门学习笔记20135227黄晓妍

    学习计时:共24小时 读书:1小时 代码:8小时 作业:3小时 博客:12小时 一.学习目标 1. 能够独立安装Linux操作系统   2. 能够熟练使用Linux系统的基本命令   3. 熟练使用L ...

  3. Linux基础入门学习笔记之三

    第四节 Linux目录结构及文件基本操作 Linux目录结构 Linux 的目录与 Windows 的目录的区别 目录与存储介质(磁盘,内存,DVD 等)的关系 Windows 一直是==以存储介质为 ...

  4. Linux基础入门学习笔记之四

    环境变量与文件查找 环境变量 变量 所谓shell变量,就是计算机中用于记录一个值(不一定是数值,也可以是字符或字符串)的符号,而这些符号将用于不同的运算处理中.通常变量与值是一对一的关系,可以通过表 ...

  5. Linux基础入门学习笔记之二

    第三节 用户及文件权限管理 Linux用户管理 Linux是可以实现多用户登录的操作系统 查看用户 who命令用于查看用户 shiyanlou是当前登录用户的用户名 pts/0中pts表示伪终端,后面 ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. 学习参考《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    国内编写的关于python入门的书,初学者可以看看. 参考: <零基础入门学习Python>电子书PDF+笔记+课后题及答案 Python3入门必备; 小甲鱼手把手教授Python; 包含 ...

  8. 学习《零基础入门学习Python》电子书PDF+笔记+课后题及答案

    初学python入门建议学习<零基础入门学习Python>.适合新手入门,很简单很易懂.前一半将语法,后一半讲了实际的应用. Python3入门必备,小甲鱼手把手教授Python,包含电子 ...

  9. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

随机推荐

  1. Spring in Action 4th 学习笔记

    约定: 一.@Xxx Class 表示被@Xxx注解的类.同理还有@Xxx注解的字段或方法. 例如:@Bean Method. 二.@Component Class 同时代指 @Controller. ...

  2. Windows 中 .\ 和 ..\ 的区别

    .\ 表示项目文件所在目录之下的目录...\ 表示项目文件所在目录向上一级目录下的目录...\..\表示项目文件所在目录向上二级目录之下的目录.

  3. 如果不得已需要全局变量,则使全局变量加前缀 g_(表示 global)

    如果不得已需要全局变量,则使全局变量加前缀 g_(表示 global). 例如: int g_howManyPeople; // 全局变量 int g_howMuchMoney; // 全局变量 #i ...

  4. (转)从海康7816的ps流里获取数据h264数据

    海康7816使用ps流来封装h.264数据,这里使用的解码器无法识别ps流,因此需要将h264数据从ps流里提取出来 对于ps流的规定可以参考13818-1文档 这里从7816里获取到一些数据取样 0 ...

  5. HDU 1020:Encoding

    pid=1020">Encoding Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Ja ...

  6. MVC下载远程文件流(WebClient)

    public ActionResult DownLoad_File() { return File(ScLiu(PathUrl), "application/octet-stream&quo ...

  7. 【Java面试题】55 说说&和&&的区别。

    &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false. ...

  8. db2

    关于3种导入导出操作进行简单的介绍:export:导出数据,支持IXF,DEL或WSFimport:导入数据,可以向表中导入数据,支持上面提到的4种文件类型.    load:导入数据,功能和impo ...

  9. mybatise 实现同一字段多模糊查询

    mybatise 同一字段多模糊查询 <foreach collection="typeList" index="index" item="it ...

  10. 第一章 Spring.Net介绍

    1.1 概述 在Java社区中Spring经历的长时间的考验,已经是一套很成熟稳定的框架.而Spring.Net 的前身是 Java版的Spring.Spring.Net是以Java版的Spring框 ...