所有的JavaScript项目都是在终端输入npm init -y进行项目初始化,如果要自定义项目规则,去掉 -y 参数。


vscode终端快捷键ctrl+`

初始化

运行上述命令后,项目内会新建一个package.json文件,打开该文件如下:


package.json

package.json文件内部就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。比如name就是项目名称,version是版本

package.json文件解释

name: 项目名称

version: 项目版本号

description: 项目描述

main:入口文件,引用某开发依赖包,这个字段的默认值是模块根目录下面的index.js,不然工程中无法用import导入依赖包;不使用main属性的话我们可能需要这样写引用:require("some-module/dist/app.js")

author,作者,这里要你预先配置自己的git。

格式设置如下:

{ “name” : “abc”
, “email” : “abc@123.com” //问题反馈的Url或email配置
, “url” : “http://barnyrubble.tumblr.com/” //问题反馈的Url或email配置
}

scripts:scripts指定了运行脚本命令的npm命令行缩写,比如start指定了运行npm run start时,所要执行的命令。

dependencies:指定了项目运行所依赖的模块,整个项目一直都需要的模块

devDependencies指定项目开发所需要的模块,上线发布后就没用的模块。

从上面的例子不难发现,我们每进行一次打包都要输入一段冗长的命令,这样做不仅耗时而且容易出错。为了使命令行指令更加简洁,我们可以在package.json中添加一个脚本命令。

npm 允许在package.json文件里面,使用scripts字段定义脚本命令。

{
// ...
"scripts": {
"build": "node build.js"
}
}

上面代码是package.json文件的一个片段,里面的scripts字段是一个对象。它的每一个属性,对应一段脚本。比如,build命令对应的脚本是node build.js。

命令行下使用npm run命令,就可以执行这段脚本。

除去以上的这些命令外,经常还能见到一些npm start、npm deploy、 npm build等等之类的命令,这些一般都是在package.json 中自定义的一些启动、重启、停止服务之类的命令。可以在package.json文件的scripts字段里自定义。例如:

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack",
"start": "webpack-dev-server main.js,
"deploy": "set NODE_ENV=production"
}

关于package.json的详细文档,有兴趣的同学可以参考《package.json中文文档》;

扩展内容(下载包缓慢时使用)

在终端,安装nrm工具,使用 nrm use进行镜像地址切换,然后使用npm 进行cnpm包的安装,接着即可使用cnpm进行包的管理。

nrm和cnpm的安装使用

作用: 提供了一些最常用的NPM包镜像地址,能够让我们快速的切换安装包时候的服务器地址;

镜像:因为很多node包都是托管在外国服务器,但是由于网络原因,国内经常访问不到。国内的淘宝团队对该服务器进行了映射,即拷贝了一份放在国内,供开发者使用,淘宝团队每10分钟对所有镜像进行更新,创建一个和官网完全一样的NPM服务器,只不过,数据都是从人家那里拿过来的,除此之外,使用方式完全一样;

  • 运行npm i nrm -g 全局安装nrm包;


    npm i nrm-g
  • 使用nrm use npm或nrm use taobao切换不同的镜像源地址;


nrm use taobao 使用淘宝作为镜像地址
  • 使用nrm ls查看当前所有可用的镜像源地址以及当前所使用的镜像源地址;

nrm ls 列表输出镜像地址

npm i nrm -g //安装nrm工具 nrm use taobao //切换镜像地址 npm i cnpm -g //安装包管理工具 cnmp i package //安装包

webpack前置知识2(JavaScript项目初始化)的更多相关文章

  1. webpack前置知识1(模块化开发)

    webpack前置知识1(模块化开发) 新建 模板 小书匠  在开始对模块化开发进行讲解之前,我们需要有这么一个认识,即 在没有过多第三方干扰时,成本低收益高的事物更容易获得推广和信赖. 模块化开发就 ...

  2. Webpack 2 视频教程 003 - Webpack 项目初始化

    原文发表于我的技术博客 这是我免费发布的高质量超清「Webpack 2 视频教程」. Webpack 作为目前前端开发必备的框架,Webpack 发布了 2.0 版本,此视频就是基于 2.0 的版本讲 ...

  3. Element源码:项目初始化和webpack配置

    0x00.项目初始化 由于整个过程像素级 copy element,所以将不使用vue-cli初始化项目. 创建项目 新建一个空的文件夹,使用npm init 来初始化项目,并安装vue模块. 修改目 ...

  4. git+webpack项目初始化<一>

    目录结构 src + page view image service util git初始化 linux常用命令 rm -rf mmall-fe/ 删除 mkdir mmall-fe 创建文件夹 ls ...

  5. Webpack探索【2】--- 安装、项目初始化、webpack.config.js配置文件

    本文主要讲安装.项目初始化.webpack.config.js配置文件方面的内容.

  6. Webpack基础知识总结

    本文将从多个方面回顾下自己了解的Webpack知识,包括常见的配置项,前端搭建的一些方法和项目实际优化方法,有错误的地方还请指出并多多包涵. 一.关于Webpack 1.概念 本质上,webpack ...

  7. Windows Store Javascript项目使用高德地图、谷歌地图、百度地图API

    原文 Windows Store Javascript项目使用高德地图.谷歌地图.百度地图API 在Win8 Store 项目中可以使用的地图主要有微软的Bing Map,目前高德地图sdk也支持Wi ...

  8. Vue项目模板--和--webpack自动化构建工具的---项目打包压缩使用

    [首先安装node.js]: 1. 从node.js官网下载并安装node,安装过程很简单. 2. npm 版本需要大于 3.0,如果低于此版本需要升级它: # 查看版本 npm -v2.3.0 #升 ...

  9. element-ui和npm、webpack、vue-cli搭建Vue项目

    一.element-ui的简单使用 1.安装 1. npm 安装 推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用. npm i element-ui -S 2. CDN ...

随机推荐

  1. [.net core]8.中间件的概念

    假设我们的中间件是这样的(可以自由排列, 扩展自定义中间件) logging负责记录请求/响应 staticFiles 负责响应 静态文件 MVC 负责响应 视图 当.net core web app ...

  2. java使用Callable创建又返回值的线程

    并发编程使我们可以将程序分为很多个分离的,相互之间独立的任务,通过使用多线程的机制,将每个任务都会有一个执行线程来单独的驱动,一个线程是 进程中一个单一顺序控制流,一个进程可以拥有多个线程,也就相当于 ...

  3. 史上最全的大厂Mysql面试题在这里

    1.MySQL的复制原理以及流程 基本原理流程,3个线程以及之间的关联: 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中: 从:io线程——在使用star ...

  4. sublime text 3 环境设置

    1. 设置build system 环境 tool -> build system -> new build system ,粘贴以下代码并保存 { "cmd":[&q ...

  5. mysql复制表结构,复制表数据

    MYSQL 复制表 show create table table_name:查看表的建表语句.该语句包含了原数据表的结构,索引等. 使用 SHOW CREATE TABLE 命令获取创建数据表(CR ...

  6. flume复习(一)

    关于flume官方文档介绍可以去:http://flume.apache.org/看看.接下来就介绍一下关于我个人对flume的理解 一.flume介绍: 1.flume是一个分布式.可靠.和高可用的 ...

  7. cookie Web Storage API

    https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Storage_API/Using_the_Web_Storage_API https://d ...

  8. maven 下载源码eclipse的配置

    1.在eclipse使用maven 下载源码包需要更改 D:\apache-maven-3.2.1-bin\apache-maven-3.2.1\conf 目录下 的 settings.xml 文件, ...

  9. pyhton接口自动化测试-requests.post()

    一.方法定义 二.post方法简单使用 1.带数据的post 2.带header的post 3.带json的post 4.带参数的post 5.普通文件上传 6.定制化文件上传 7.多文件上传 一.方 ...

  10. PAT Basic 1039 到底买不买 (20 分)

    小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有多少多余的珠子 ...