首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用bazel编译typescript非常慢?

使用bazel编译typescript非常慢?
EN

Stack Overflow用户
提问于 2019-03-10 23:22:08
回答 1查看 361关注 0票数 0

问:在bazel中发布初始构建大于10秒,这是正常的吗?我如何通过下面的例子减少Bazel的构建时间?

命令:

代码语言:javascript
运行
复制
yarn
npx bazel build :bundle 
npx bazel build :app // 10-12seconds

make change npx bazel build :app // 10-12秒

遵循https://blog.mgechev.com/2018/11/19/introduction-bazel-typescript-tutorial/,我简化了这个示例,并创建了一个hello-world示例。

代码语言:javascript
运行
复制
├── BUILD
├── WORKSPACE
├── package.json
├── test.ts
└── tsconfig.json

package.json

代码语言:javascript
运行
复制
{
  "name": "bazel-demo",
  "license": "MIT",
  "devDependencies": {
    "@bazel/bazel": "^0.19.1",
    "@bazel/typescript": "0.21.0",
    "typescript": "^3.1.6"
  }
}

工作区

代码语言:javascript
运行
复制
workspace(name = 'lang')

http_archive(
    name = "build_bazel_rules_typescript",
    url = "https://github.com/bazelbuild/rules_typescript/archive/0.21.0.zip",
    strip_prefix = "rules_typescript-0.21.0",
)

# Fetch our Bazel dependencies that aren't distributed on npm
load("@build_bazel_rules_typescript//:package.bzl", "rules_typescript_dependencies")
rules_typescript_dependencies()

# Setup TypeScript toolchain
load("@build_bazel_rules_typescript//:defs.bzl", "ts_setup_workspace")
ts_setup_workspace()

# Setup the Node.js toolchain
load("@build_bazel_rules_nodejs//:defs.bzl", "node_repositories", "yarn_install")
node_repositories()

# Setup Bazel managed npm dependencies with the `yarn_install` rule.
yarn_install(
  name = "npm",
  package_json = "//:package.json",
  yarn_lock = "//:yarn.lock",
)

构建

代码语言:javascript
运行
复制
package(default_visibility = ["//visibility:public"])

load("@build_bazel_rules_typescript//:defs.bzl", "ts_library")

ts_library(
  name = "app",
  srcs = ["test.ts"],
  deps = [],
)

load("@build_bazel_rules_nodejs//:defs.bzl", "rollup_bundle")

rollup_bundle(
  name = "bundle",
  entry_point = "test.js",
  deps = [":app"],
)

test.js

代码语言:javascript
运行
复制
const hello = () => 'hello';
console.log(hello());
EN

回答 1

Stack Overflow用户

发布于 2019-03-13 08:59:07

我猜是npx污染了shell环境,所以每次Bazel都会从头开始重建。您可以尝试使用--incompatible_strict_action_env运行bazel吗

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55089183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档