配置CNPM-基础案例

时间:2020-12-07 11:44:47

下面给出一个样例配置:

JavaScript

module.exports = {

enableCluster: true,

database: {

db: "snpm",

username: "username",

password: "password",

dialect: "mysql",

host: "127.0.0.1",

port: 3306

},

enablePrivate: false,

admins: {

xadillax: "i@2333.moe"

},

syncModel: "exist",

nfs: require('upyun-cnpm').create({

bucket: "your bucket",

oprator: "your id",

password: "your secret"

}),

scopes: [ '@cheniu', '@souche', '@souche-f2e' ],

badgeSubject: 'snpm',

privatePackages: [ 'snpm' ]

};

(译注:兄弟连教育www.itxdl.cn在这里提醒您,上面的配置包文件系统层用的是 upyun-cnpm 插件,需要在 CNPM 源码根目录执行)

$ npm install --save -d upyun-cnpm

这个时候你的 package.json 就有更改与源 Repo 不一致了,如果是 Git 克隆的用户在以后升级更新系统的时候稍稍注意一下可能的冲突即可。

下面给出几个官方的 NFS 插件:

upyun-cnpm:包本体存在又拍云的插件;

fs-cnpm:包本体存在本地的插件;

sfs-client:包本体存在 SFS(Simple FIle Store)插件;

qn-cnpm:包本体存在七牛的插件;

oss-cnpm:包本体存在阿里云 OSS 的插件。

以后官方如果有一些新的插件进来,这里可能不会更新了,请自行去 NFS Storage Wrappers 获取最新的 NFS 插件们。

初始化数据库

如果你使用的是 SQLite 的话,数据库是自动就好了的,可以忽略该步。

其它数据库需要自行导入初始数据库结构。

初始数据库脚本在 docs/db.sql 里面,你可以用一些 GUI 工具将数据导入,也可以直接进入命令行导入。

比如你用的是 MySQL,就可以在本机操作 MySQL。

$ mysql -u yourname -p

mysql> use cnpmjs;

mysql> source docs/db.sql

启动服务

搞好配置之后就可以直接启动服务了。

简单启动

最简单的办法也是我现在正在用的方法就是直接用 node 执行一下入口文件就好了。

$ node dispatch.js

其实我是在 tmux 里面执行上面的指令的。

官方脚本启动

官方的其它一些指令,比如你可以用 NPM 的 script 来运行。

$ npm run start

在 CNPM 里面,npm script 还有下面几种指令

npm run dev:调试模式启动;

npm run test:跑测试;

npm run start:启动 CNPM;

npm run status:查看 CNPM 启动状态;

npm run stop:停止 CNPM。