例子:使用Grunt创建一个Node.js类库
- 创建一个文件夹。
- 打开命令行或者powershell, 运行npm init,根据提示填入package的信息。
- 在文件夹中创建index.js文件。
|
/*! * mymongolib * Copyright(c) 2009-2013 Blabla * MIT Licensed */
'use strict';
module.exports = require('./lib/mymongolib');
|
- 在文件夹中创建lib目录,然后在新目录中创建mymongolib.js文件。
|
'use strict'
function MyMonboLib(connStr) { this.ConnStr = connStr;
this.TestConn = function() { return }
this.DeleteOneDoc(collName, _id) { return }
}
module.exports = MyMongoLib; |
- 回到项目的根目录文件夹,然后里面创建Gruntfile.js文件。
|
module.exports = function(grunt) {
// Project configuration. grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify: { options: { banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' }, build: { src: ['lib/<%= pkg.name %>.js'], dest: 'dist/<%= pkg.name %>.js' } } });
// Load the plugin that provides the "uglify" task. grunt.loadNpmTasks('grunt-contrib-uglify');
// Default task(s). grunt.registerTask('default', ['uglify']);
}; |
- 在命令行或者PowerShell中安装grunt.
|
npm install grunt --save-dev |
- 在命令行或者PowerShell中安装grunt-contrib-uglify模块。
|
npm install grunt-contrib-uglify --save-dev |
- 在命令行或者PowerShell中执行grunt命令。
|
grunt |
结果如下:
|
Running "uglify:build" (uglify) task >> 1 file created 265 B → 193 B |
此时看到项目的根目录下,自动创建了一个dist文件夹,里面自动创建了一个mymongolib.js文件, 文件内容如下:
|
/*! mymongolib 2017-11-07 */
"use strict";function MyMonboLib(n){return |
大功告成!
附录1:
当然,如果只想对一个js文件执行grunt操作,就不需要创建index.js和lib文件夹里面的文件,直接将文件放在根目录,然后将GruntFile.js文件中的路径改一下就好了。
附录2:
如何创建一个 示例 GruntFile.
- 安装grunt-cli
|
npm install -g grunt-cli |
- 安装windows版本的git.
- 建立一个空文件夹。
- 从命令行或者PowerShell中定位到新文件夹,然后从github上下载模板。
|
git clone https://github.com/gruntjs/grunt-init-gruntfile.git ~/.grunt-init/gruntfile |
- 创建 sample Docker file.
|
这个命令会给出提示:
|
Please answer the following: [?] Is the DOM involved in ANY way? (Y/n) n [?] Will files be concatenated or minified? (Y/n) y [?] Will you have a package.json file? (Y/n) y [?] Do you need to make any changes to the above before continuing? (y/N) n
Writing Gruntfile.js...OK Writing package.json...OK
Initialized from template "gruntfile". |
这样,在文件夹中就有了对应的GruntFile.js和package.json文件,可以用来做样例或者从中复制粘贴一些代码用。
例子:使用Grunt创建一个Node.js类库的更多相关文章
- 如何快速搭建一个 Node.JS 项目并进入开发?
了解:如何快速搭建一个项目并进入开发? 在此不概述 Node.JS 的历史以及发展过程. 因为之前接触过通过 Java 开发语言,所以明确地知道一个服务器所需的文件,以及一个服务器所需要的操作. 那么 ...
- 开启第一个Node.js的Express项目
手动创建一个Express.js的应用可大致分为以下步骤: 1.创建文件夹 a. 创建一个项目根文件夹,如helloWord b.在项目的根目录下创建项目的目录结构,依次创建{public,publi ...
- 如何用Docker建立一个Node.js的开发环境
建立一个文件夹 用管理员身份打开powershell. 在文件夹下面运行npm init, 根据提示填入信息,以便产生一个package.json文件. 在文件中加入需要的dependencies ...
- 3.第一个Node.js程序:Hello World!
转自:http://www.runoob.com/nodejs/nodejs-tutorial.html 以下是我们的第一个Node.js程序: console.log("Hello Wor ...
- 建立一个node.js服务器(使用express搭建第一个Web环境)
一.官网下载node.js 下载地址:https://nodejs.org/en/download/ 根据向导,下一步安装就可以了! 二.使用express搭建Web环境 express是一个开源的n ...
- 运行第一个Node.js程序
初学Node.js,萌新一枚.感觉Node.js挺不错的,从基础开始一步一步来,加油吧! 我们来使用Node.js的express来运行第一个程序helloworld: 在命令提示符键入express ...
- 指令创建 Express Node.js 项目
1.安装 Express 1.1 安装 Express 框架 首先保证已经安装过了 Node.js,然后进入终端使用管理员身份来安装 Express 框架. # 安装 express $ sudo n ...
- 一个node.js图片上传显示小应用
文件结构如下: 实现的功能有: 可以通过浏览器使用. 当请求http://domain/start时,可以看到一个欢迎页面,页面上有一个文件上传的表单. 用户可以选择一个图片并提交表单,随后文件将被上 ...
- node.js03 第一个node.js程序和读取文件
Hello World 1.创建运行 创建txt文件起名为hellonode,在记事本中编写JavaScript脚本文件 例如: var bbl = 'hellonode' console.log(b ...
随机推荐
- linux socket编程示例
#include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include &l ...
- .NET轻量级ORM组件Dapper修炼手册
一.摘要 1.1.为什么叫本次的分享课叫<修炼手册>? 阿笨希望本次的分享课中涉及覆盖的一些小技巧.小技能给您带来一些帮助.希望您在日后工作中把它作为一本实际技能手册进行储备,以备不时之需 ...
- VS2015 Offline Help Content is now available in 10 more languages!
https://blogs.msdn.microsoft.com/devcontentloc/2015/10/21/vs2015-offline-help-content-is-now-availab ...
- 查看webservice服务下的所有方法和参数类型
方法:直接在IE浏览器中输入webservice的地址,查看返回的XML数据即可. 效果如下:
- C#编程(五十一)----------链表
原文链接: http://blog.csdn.net/shanyongxu/article/details/47024865 链表 LinkedList<T>集合类没有非泛型类的版本,它是 ...
- C#编程(二十)----------静态类
如果类只包含静态的方法和属性,该类就是静态的.静态类在功能上与使用私有静态构造函数创建的类相同.不能创建静态类的实例.使用关键字static关键字,编译器可以检查用户是否不经意间给类添加了实例成员.如 ...
- 删除 AP 发票相关脚本
/* Formatted on 2018/3/15 10:33:14 (QP5 v5.256.13226.35538) */ --发票 CREATE TABLE bak.ap_invoices_all ...
- could not connect to server: Connection refused (0x0000274D/10061)
Oracle Linux 6.8 PostgreSQL Server IP: 192.168.10.220 Windows 7 x64 pgAdmin Custom Port IP: 192.168. ...
- 明日传奇第三季/全集Legends of Tomorrow迅雷下载
<明日传奇>第三季将加入一名新的女性角色.据Variety得到的消息称,塔拉·阿什(Tala Ashe)将作为<明日传奇>第三季的常规演员加入该剧.在第三季中,塔拉·阿什饰演的 ...
- 灵书妙探第八季/全集Castle迅雷下载
英文全名Castle,第8季(2015)ABC.本季看点:<灵书妙探>讲述性格和背景迥异的两人在不断的斗嘴与摩擦中竟然渐渐培养出了默契,成了名符其实的最佳搭档.在上季Richard Cas ...