Vue:如何在 CI 平台上找出构建引擎所需的依赖项?
Vue: How to find out dependencies needed for a build engine on a CI platform?
我构建了一个 Vue 应用程序,每次更新时都需要我从我的机器构建资产。另一位开发人员让我让他们知道依赖关系,以便他们在 Circle CI 上设置构建引擎。 package.json
中的dependencies
和devDependencies
是不是意思?其中一些我不记得手动安装了。
如果不直接与同事交谈,很难知道他们要求什么,但是对于 cloud-based 持续集成系统,您通常需要知道构建系统的先决条件是什么。 package.json 中的内容很简单,只要您在 package.json "scripts" 部分中有 "build" 命令即可。
例如,我有一个 package.json 大致如下所示:
"build": "yarn build:umd & yarn build:es & yarn build:unpkg",
"build:umd": "rollup --config build/rollup.config.js --format umd --file dist/honeybadger-vue.umd.js",
"build:es": "rollup --config build/rollup.config.js --format es --file dist/honeybadger-vue.esm.js",
"build:unpkg": "rollup --config build/rollup.config.js --format iife --file dist/honeybadger-vue.js",
"build:unpkg-minify": "rollup MINIFY=true --config build/rollup.config.js --format iife --file dist/honeybadger-vue.min.js",
但是,对于持续集成设置,我需要告诉 CI 系统我需要什么才能 运行 这些命令。这些可能是您同事询问的依赖项。
例如,我使用 Travis 而不是 Circle CI,但我需要指定我需要 运行 测试的 Node 版本,我可能需要哪些外部依赖项才能构建库和 运行 测试。这可能是像 ImageMagick、headless Chrome 这样的库,也许是某些用例的数据库客户端。我还需要知道什么命令需要 运行 运行 构建(一旦你告诉它语言是 node_js,travis 就会做出合理的假设;我希望 Circle CI 相似)。
在我特定的 Travis 设置中,我在项目中有一个名为 .travis.yml 的配置文件,它告诉 Travis 它需要知道的一切,如下所示:
dist: trusty
language: node_js
node_js:
- 8
- 10
- 11
sudo: false
addons:
chrome: stable
before_script:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start
before_install:
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
这列出了我要测试的 Node 版本、pre-build 命令列表以及我需要的一些插件。如果需要,我可以使用 OS 包管理器轻松添加内容。
基本上,我假设您的开发人员正在寻找足够的信息以确保可以在其他人的机器上构建库。这几乎肯定是他们所说的 "dependencies" 的意思,因为您的包文件将包含足够的信息来引用 Node 可以自行处理的任何依赖项。
我构建了一个 Vue 应用程序,每次更新时都需要我从我的机器构建资产。另一位开发人员让我让他们知道依赖关系,以便他们在 Circle CI 上设置构建引擎。 package.json
中的dependencies
和devDependencies
是不是意思?其中一些我不记得手动安装了。
如果不直接与同事交谈,很难知道他们要求什么,但是对于 cloud-based 持续集成系统,您通常需要知道构建系统的先决条件是什么。 package.json 中的内容很简单,只要您在 package.json "scripts" 部分中有 "build" 命令即可。
例如,我有一个 package.json 大致如下所示:
"build": "yarn build:umd & yarn build:es & yarn build:unpkg",
"build:umd": "rollup --config build/rollup.config.js --format umd --file dist/honeybadger-vue.umd.js",
"build:es": "rollup --config build/rollup.config.js --format es --file dist/honeybadger-vue.esm.js",
"build:unpkg": "rollup --config build/rollup.config.js --format iife --file dist/honeybadger-vue.js",
"build:unpkg-minify": "rollup MINIFY=true --config build/rollup.config.js --format iife --file dist/honeybadger-vue.min.js",
但是,对于持续集成设置,我需要告诉 CI 系统我需要什么才能 运行 这些命令。这些可能是您同事询问的依赖项。
例如,我使用 Travis 而不是 Circle CI,但我需要指定我需要 运行 测试的 Node 版本,我可能需要哪些外部依赖项才能构建库和 运行 测试。这可能是像 ImageMagick、headless Chrome 这样的库,也许是某些用例的数据库客户端。我还需要知道什么命令需要 运行 运行 构建(一旦你告诉它语言是 node_js,travis 就会做出合理的假设;我希望 Circle CI 相似)。
在我特定的 Travis 设置中,我在项目中有一个名为 .travis.yml 的配置文件,它告诉 Travis 它需要知道的一切,如下所示:
dist: trusty
language: node_js
node_js:
- 8
- 10
- 11
sudo: false
addons:
chrome: stable
before_script:
- "export DISPLAY=:99.0"
- "sh -e /etc/init.d/xvfb start"
- sleep 3 # give xvfb some time to start
before_install:
- google-chrome-stable --headless --disable-gpu --remote-debugging-port=9222 http://localhost &
这列出了我要测试的 Node 版本、pre-build 命令列表以及我需要的一些插件。如果需要,我可以使用 OS 包管理器轻松添加内容。
基本上,我假设您的开发人员正在寻找足够的信息以确保可以在其他人的机器上构建库。这几乎肯定是他们所说的 "dependencies" 的意思,因为您的包文件将包含足够的信息来引用 Node 可以自行处理的任何依赖项。