【发布时间】:2018-01-10 19:25:28
【问题描述】:
我决定在 gulp 中的部署过程中使用vinyl-ftp。我想做的一件事是使用我的 ftp 凭据创建一个单独的文件:
-
主机
-
用户
-
密码
并将该文件放入我的 .gitignore 中。然后我希望我的 gulp 文件中的连接变量读取该文件中的这些凭据。我的部署代码如下:
gulp.task( 'deploy', function () { var conn = ftp.create( { host: 'yourdomain.com', user: 'ftpusername', password: 'ftpuserpassword', parallel: 10, log: gutil.log } ); var globs = [ 'dist/**' ]; return gulp.src( globs, { base: './dist/', buffer: false } ) .pipe( conn.newer( 'yourdomain.com' ) ) .pipe( conn.dest( 'yourdomain.com' ) ); } );//end deploy
所以我希望将变量 yourdomain.com 的值用于主机,ftpusername 用于用户,ftpuserpassword 用于密码从单独的文件中读取,以便在执行 git push 时显示我的凭据。我该如何做到这一点?
谢谢
【问题讨论】:
-
我确实尝试使用我的主机、用户和密码凭据创建一个 ftp.json 文件,并将其添加到我的 .gitigonre 文件中,并将其保存在我的文件夹的根目录中,与我的 gulpfile 位置相同。 js,并在我的 gulpfile.js 中添加了声明:var ftp_cred = require('ftp.json') 当我运行 gulp deploy 时,我收到错误:错误:找不到模块 'ftp.json'
-
你是否也导出了 ftp.json 文件,比如 exports.ftp= ftp; ?请参阅blueprintinteractive.com/blog/… 了解有关您正在尝试做什么的好文章。
-
谢谢,我按照您建议的优秀文章进行了操作,但是在使用 ftp 凭据浏览配置文件后它冻结了。它说 CONN 两次并被卡住。登录凭据已在 filezilla 上手动签出,并且正在连接。