问题:gulp 如何管理多项目?
一般采用 gulp ,需将依赖的node_modules
(插件集) down 于本地;而我们团队所做的项目多而且小,彼此间又比较独立。如果每个小项目下都对应一个node_modules
,很是有些不妥。目前在尝试期: 是把node_modules
以及gulpfile.js
放在了众小项目之外,每次需要对某个小项目更改,改动gulpfile.js
中路径配置,很是不够便捷。
探究:有尝试些许办法,比如采用npm link
,将需要的插件集合全局下载,让单独小项目 link 于全局插件。但是用 gulp-watch 在 win 下出现如下问题(mac 下还未尝试):
[10:43:25] 'watch' errored after 7.4 s
[10:43:25] Error: EPERM: operation not permitted, scandir 'E:\$RECYCLE.BIN\S-1-5-21-422716981-4093441979-2207027076-1001'
at Error (native)
at Object.fs.readdirSync (fs.js:813:18)
at Glob._readdir (E:\1021_gulp_test\ddzmod\ddztemplate\node_modules\gulp\node_modules\vinyl-fs\node_modules\glob-watcher\node_modules\gaze\node_modules\globule\node_modules\glob\glob.js:577:20)
即便不出问题,每个小项目之下有对于本机插件依赖的node_modules
,对于团队开发,也不怎么妥当。
请教: 故而,在此求教 gulp 如何管理多项目方法,新人初来乍到,愿指点一二,拜谢。
1
cxbig 2015-11-10 04:08:53 +08:00
我们都是每个项目一套 package.json 和 gulpfile.js
|
2
hkongm 2015-11-10 09:48:08 +08:00 1
小项目需要用 gulp 么?如果是简单的浏览器编辑器同步 watch 的话,命令行一行搞定啊
browser-sync start --server --files="*.html,css/*.css,*.css" --browser="google chrome" --open="external" 如果 Node 项目(当然你没发在 Node 板块)的话,那就要像一楼朋友说的一样,需要单独的 Git 仓库和 package 啊 |
3
jeffjade OP 喔,感谢;我们的每个单独项目过于小,而且繁多。如果每个项目下都放一个, SVN 不上传吧,用的时候都得 install 插件; SVN 上传,这个占用空间感觉耗不起;素以,只好另想想办法了。
|
4
hkongm 2015-11-10 09:54:00 +08:00
SVN 设置忽略 node_modules 目录,只扔 package.json 即可
|
5
jeffjade OP @hkongm 项目虽小,也想借助工具来对代码进行检测 /压缩 /美化 /合并 /监测代码 /转化模版等等;而 gulp 无疑是一个不错的选择,素以才...。
|
6
Epirus 2015-11-10 11:11:38 +08:00
使用 gulp --cwd . 然后做成一个命令行
|
7
alian 2015-11-10 13:11:42 +08:00
我觉得每次 install 其实还能接受,除非你们的 module 很多很多
|
8
jeffjade OP @alian 暂时也没有很多, 8 , 9 个的样子;但,感觉蛮多的东西要慢慢引入的,比如 Sass 等,所以就必须学习下这块了,若能做到简洁一丢丢,对使用体验来讲就“开心”很多嘛。
|
10
cxbig 2015-11-10 18:39:27 +08:00 1
@jeffjade repo 你只要上传 package.json 和 gulpfile.js 即可, node_modules 放 ignore 。
部署的时候直接在服务器端跑一次 npm install 和 gulp 。 |
11
jeffjade OP 在 segmentFault 有一篇文章[ nodejs 中的 NODE_PATH ,地址: http://segmentfault.com/a/1190000002478924 ;谈及到用 NODE_PATH ( NODE 中用来寻找模块所提供的路径注册环境变量)来解决;但是也有其弊端,还未采用。
|