javascript前后端混合式代码包管理器xpm,完美支持CommonJS,灵感来自meteor,seajs的spm
代码地址: https://github.com/xiamidaxia/xpm
#Xiami Package Manager
A powerful web server package manager that can manage the client side and server side code together, also bind many useful tools like coffeescript, less, stylus, jade, imagemin, mocha, chai and so on.
Using in the xiami web framework
##documents
##tutorials
//init server side code manager
var xpmServer = require('xpm2').serverCreate({
family: {
meteor: __dirname + "/meteor",
//declare your family code path
myfamily: "/any/real/path"
}
})
var mypack = xpmServer.require('myfamily/mypack')
console.log(mypack.version)
//init client side code manager
var xpmClient = require('xpm2').clientCreate({
family: {
meteor: __dirname + "/meteor",
myfamily: "/any/real/path"
},
dest: __dirname + "/" + "dest"
})
xpmClient.add('myfamily/mypack')
xpmClient.run()
In the ‘mypack’ package directory, you need to add the file package.js
just like this:
//just describe
Package.describe({
info: "this is a mypack package."
version: "0.0.1"
})
//files you want to use both client side and server side
Package.all({
files: ["common.js"]
test_files: ["test/**/*.js"]
})
//files only in server
Package.server({
imports: ['underscore']
files: ['file1.js', 'file2.js']
})
//files in client, you can use many file types like '.less' '.styl' '.tpl' and so on
Package.client({
imports: ['underscore']
files: ['client*.js', "**/*.styl", "**/*.jpg"]
})
1 回复
sj为何要自己弄pm,想不通。。。