跳到主要内容
CNode

javascript前后端混合式代码包管理器xpm,完美支持CommonJS,灵感来自meteor,seajs的spm

社区
Xxiamidaxia发布于 12 年前最后回复 12 年前
144520

代码地址: 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)

K
kingapple#112 年前

sj为何要自己弄pm,想不通。。。

参与回复

登录后即可参与回复。登录