如何使用像filezilla这样的ftp服务器在没有vercel的情况下将下一个js应用程序部署到自定义服务器

时间:2021-07-07 07:39:44

标签: reactjs deployment next.js vercel

我可以在没有 vercel 的情况下将下一个 js 应用程序部署到自定义服务器吗 在 React js 中,我曾经使用构建文件夹使用 FTP 服务器进行部署 在接下来的 js 中我不知道要上传哪些文件 有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

  1. yarn add ftp-deploy

  2. 在 src 外创建文件 deploy.js

  3. 把这段代码放在上面:

    var FtpDeploy = require('ftp-deploy');
    var ftpDeploy = new FtpDeploy();
    require('dotenv').config({ path: '.env.local' });
    
    var config = {
      user: process.env.FTP_USER,
      // Password optional, prompted if none given
      password: process.env.FTP_PASS,
      host: process.env.FTP_HOST,
      port: process.env.FTP_PORT || 21,
      localRoot: __dirname + '/build',
      remoteRoot: process.env.FTP_REMOTE_ROOT,
      // this would upload everything
      include: ['*'],
      // e.g. exclude sourcemaps, and ALL files in node_modules (including dot files)
      exclude: [],
      // delete ALL existing files at destination before uploading, if true
      deleteRemote: process.env.FTP_DELETE,
      // Passive mode is forced (EPSV command is not sent)
      forcePasv: true,
    };
    
    ftpDeploy
      .deploy(config)
      .then((res) => console.log('finished ;)'))
      .catch((err) => console.log(err));
    
    ftpDeploy.on('uploading', (d) => {
      console.log(
        `${d.transferredFileCount} / ${d.totalFilesCount} => ${d.filename}`
      );
    });
    
    ftpDeploy.on('upload-error', function (data) {
      console.log('upload-error =>', data.err); // data will also include filename, relativePath, and other goodies
    });
    

    然后请在 env 文件中输入您的数据库信息,并使用该文件中的变量名称