将 vue 项目部署到 surge.sh

Deploying a vue project to surge.sh

我一整天都在尝试将我的 Vue 项目部署到 Surge.sh,该项目使用 webpack-simple 模板。

有趣的是,如果我从我的 CLI 手动部署它,它会工作,但如果我将它推送到 GitHub 并从 Travis CI 部署它,它就不会工作。如果我从 Travis 部署它,它不会包含 dist/ 文件夹,因此站点将无法运行。

这是我的 Travis CI 配置:

language: node_js
node_js:
  - "node"
  - "7"
cache:
  directories:
    - node_modules/
    - dist/
install:
  - npm install
after_success:
  - surge --project . --domain mydomain.surge.sh

而且我确实添加了两个环境变量,即SURGE_TOKEN & SURGE_LOGIN。我真的不知道现在做什么。所以,请帮助。

您的 dist 文件夹在 Travis 构建步骤后丢失的原因是因为在每个步骤后都会清理环境。

为了防止这种情况,您需要在 .travis.yml 中指定一个 deploy: 部分并设置 skip_cleanup: true 设置。

幸运的是,Travis CI supports Surge.sh deployment directly,因此您不需要在 after_success 步骤中直接使用 surge CLI 工具。看看上面的链接说明,看看你是怎么做的。

更新:

我认为您需要在部署网站之前添加 script: 步骤来构建您的网站。否则我认为 this command 不会被其他任何东西调用。

类似于:

install:
  - npm install
script:
  - npm run build
deploy:
  provider: etc...