使用 jspm 把握 JavaScript 模块的未来(1)npm local
- UID
- 1066743
|
使用 jspm 把握 JavaScript 模块的未来(1)npm local
npm local您可能熟悉 Node.js 及其对 JavaScript 作为浏览器的免费通用语言的应用。您可以使用 Node 运行 JavaScript 文件,但 Node 中几乎相关的一切都通过模块(也称为依赖项)发生,您必须将其包含在内。npm 使得在全局系统和本地项目中安装和控制服务器端依赖项变得非常容易。
如果您尚未在您的系统上安装 Node.js 和 npm,请立即 它们。安装后,您的全局路径上有两个命令:node 和 npm。
您的项目将要创建一个命令行应用程序,其中包含一个旋转器(一个告诉用户处理正在进行中、请稍候的动画图标)。这项功能(以前属于计算密集型功能)为了便于日常使用而进行了简化,如今以 node 模块形式存在。
通过运行 npm install module-name -g,将 node 模块安装到全局上下文中,但对于该应用程序,您不会希望上下文是全局的。而是希望为项目明确定义依赖项,并将其包含在项目中。这样一来,您便可以通过版本控制签出项目,并在项目内安装依赖项,还可以查看其中列出的依赖项。
因此使用 package.json(一个项目中控制 npm 的文件)保持所有内容一目了然地包含在内。清单 1 显示了针对您的应用程序的一个简单 package.json。将此文件放在您的项目中一个新文件夹的 root 中。
清单 1. 包含依赖项的 package.json1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| {
"name": "jspm-intro",
"preferGlobal": true,
"version": "1.0.0",
"author": "user",
"description": "JSPM Intro - Demo App",
"license": "",
"engines": {
"node": ">=0.10"
},
"scripts": {
"go": "node app-cl.js"
},
"dependencies": {
"cli-spinner": "0.2.2"
}
}
|
请注意,package.json 中的 dependencies 条目引用了 cli-spinner 模块,为其提供了一个版本号。(大部分 JavaScript 包会为您提供其 npm 页面的最新版本 — 例如 页面。)您还可以通过从命令行运行 npm install package-name 来获得最新版本。
要安装依赖项,请从命令行运行 npm install。观察 npm 下载依赖项并将它们放入 /node_modules。
另请注意,在清单 1 中,scripts 包含一个 go 命令。在 scripts 属性中,您可以在已定义 npm 上下文内运行任意命令。因此依赖项可用于 node app-cl.js 命令。(在 npm run-script 命令执行期间 /node_modules 目录被放到路径上。)
清单 2 展示了一个简单但令人深刻的 app-cl.js 程序。
清单 2. Node 应用程序中需要并使用了一个模块1
2
3
4
5
6
7
8
9
10
11
| "use strict";
var Spinner = require('cli-spinner').Spinner;
var spinner = new Spinner('This is gonna blow your mind... %s');
spinner.setSpinnerString('|/-\\');
spinner.start();
setTimeout(function() {
spinner.stop();s
}, 3000);
|
转到命令行并运行 npm run-script go。可以看到旋转器在旋转,这表明依赖项使用是正常的。 |
|
|
|
|
|