初学Node(二)package.json文件

package.json简介javascript

  package.json在Node项目中用于描述项目的一些基本信息,以及依赖的配置,通常每个Node项目的根目录下都有一个package.json文件。html

  在项目的根目录中咱们能够经过npm init来初始化一个package.json文件,其内容是一个Json对象,基本结构以下:java

{
  "name": "package",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

  package.json文件中包含了不少的属性,这些属性都是项目的一些基本信息以及一些配置信息,这里是一些更详细的信息,着重介绍一些咱们常常用到的属性。node

name main属性react

  name和version属性是package.json文件两个不可或缺的属性,一般name属性和咱们项目的文件名称是同样的,version表示这个项目的版本号。jquery

  main属性指定了加载时的入口文件,当使用require()语法来加载一个模块时,就会查看package.json文件的main属性,main属性的属性值就是要加载的模块。npm

  在桌面新建一个文件夹(模块)命名为factory,在该文件夹内新建一个index.js文件,在index.js文件中写入如下代码:json

function create(){
    var product = "我是一个产品";
    return product;
}
exports.create = create;

  而后在桌面上新建一个store文件夹,在该文件夹内新建一个store.js文件,在store.js文件中写入如下代码:函数

var factory = require("../factory");
var product = factory.create();
console.log(product);

  在命令行中进入store文件夹输入node store.js,能够发现运行成功,在store.js中经过require()函数加载factory模块时若是没有package.json文件,默认就会加载模块中的index.js文件。若是存在package.json文件这样在require()加载一个模块时,就会读取package.json文件的main属性,main属性指定的入口文件就是require()要加载的文件:ui

  如今经过命令行进入factory文件经过npm init命令初始化一个package.json文件,将package.json文件的main属性改成demo.js,而后在将factory文件内的index.js文件更名为demo.js,而后在命令行中进入store文件在执行node store.js,仍然是能够成功运行的。

scripts属性

  scripts属性能够指定npm命令缩写。在store文件夹中初始化package.json文件,而后添加scripts属性:

  执行npm run start仍然能够运行成功,经过scripts属性npm run start等价于node store.js。

  关于scripts的更具体的使用请看这里

dependencies devDependencies属性

  当咱们在命令行中执行npm install jquery -save时会在当前目录下新建一个node_modules文件夹,将jquery下载到node_modules文件内,并将该模块的依赖写入到dependencies内。若是执行npm install react -save-dev时会将react下载到node_modules文件下并将依赖写入到devDependencies内。

  "dependencies": {
    "jquery": "^3.1.1"
  },
  "devDependencies": {
    "react": "^15.3.2"
  }

 

  若是在写入依赖以后咱们删除node_module文件,而后执行npm install就会读取package.json文件的dependencies和devDependencies属性自动下载写入的依赖模块。

相关文章
相关标签/搜索