# 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 Boot集成Mybatis及通用Mapper

    集成Mybatis可以通过 mybatis-spring-boot-starter 实现. <!-- https://mvnrepository.com/artifact/org.mybatis ...

  2. H264裸流分析中,能获取哪些信息?

    从H264的裸流中,PPS,SPS中,一定可以获取到的,有图像的宽,高信息. 这部分信息的提取,用Stream eye 分析: 这里需要特别提一下这两个参数:  pic_width_in_mbs_mi ...

  3. 【Java面试题】53 能不能自己写个类,也叫java.lang.String?

    可以,但是即使你写了这个类,也没有用. 这个问题涉及到加载器的委托机制,在类加载器的结构图(在下面)中,BootStrap是顶层父类,ExtClassLoader是BootStrap类的子类,ExtC ...

  4. 【Java面试题】41 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

    对. 如果对象要保存在HashSet或HashMap中,它们的equals相等,那么,它们的hashcode值就必须相等. 如果不是要保存在HashSet或HashMap,则与hashcode没有什么 ...

  5. SQL Server 删除数据库所有表和所有存储过程

    场景: SQL Server中,需要删除所有表或所有存储过程时,手动的方式只能逐个进行删除,耗个人时间,所以想弄个语句来实现这样的需求.   如果由于外键约束删除table失败,则先删除所有约束: - ...

  6. MathType中常见的两种符号的运用

    想要让公式编辑得快速又高效,MathType数学公式编辑器这个神助攻是少不了的.MathType是一款专用的数学公式编辑器,用它来编辑公式非常方便实用,并且排版也非常简单.下面介绍两种常见符号的应用. ...

  7. 织梦DedeCMS使用SQL批量替换文章标题内容

    在使用织梦DedeCMS的过程中,出于伪原创或者其他的原因,我们需要对文档的内容.标题.描述等等进行同义词或者其他的替换.这个就是一个简单的织梦SQL语句操作的问题,No牛网在织梦DedeCMS常用S ...

  8. 前端架构一之XAMPP

    摘要: 随着用户体验的重要性和项目的富客户端化,越来越多的公司将前端与后端分离开来,这时候前端就需要有自己的服务环境.本文将介绍我在开发中所用到的前端服务环境的搭建. 环境: OS: win7 64b ...

  9. Codeforces Round #313 D. Equivalent Strings(DFS)

    D. Equivalent Strings time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  10. mysql 中实现行变列

    前言: mysql行列变化,最难的就是将多个列变成多行,使用的比较多的是统计学中行变列,列变行,没有找到现成的函数或者语句,所以自己写了存储过程,使用动态sql来实现,应用业务场景,用户每个月都有使用 ...