Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bazel与webpack的集成_Webpack_Bazel - Fatal编程技术网

bazel与webpack的集成

bazel与webpack的集成,webpack,bazel,Webpack,Bazel,我正试图将webpack引入bazel正在构建的monorepo 我有点像 source/ -moduleA/ -moduleB/ --package.json --static/ ---image.png --source/ ---foo.ts ---bar.js ---baz.jsx 我已经设置了我的webpack.config.js,这样当我运行webpack时,我会得到如下结果: dist/ -generated.html -bundled.js -copied/ --css/ --i

我正试图将webpack引入bazel正在构建的monorepo

我有点像

source/
-moduleA/
-moduleB/
--package.json
--static/
---image.png
--source/
---foo.ts
---bar.js
---baz.jsx
我已经设置了我的
webpack.config.js
,这样当我运行
webpack
时,我会得到如下结果:

dist/
-generated.html
-bundled.js
-copied/
--css/
--img/
据我所知,这是一款网络应用。如果我提供
/dist
服务,我的浏览器将加载
生成的.html
,然后加载其他文件

Bazel不喜欢我的
/dist
目录,但我无法理解我遇到的所有错误。我正试着做这样的事情

genrule(
  name = "webpack_stuff",
  srcs = [
    ":deps"
  ],
  cmd = " && ".join([
    "cd source/core/viewer",
    "node node_modules/webpack/bin/webpack.js --config webpack.prod.js --output-path $@",
  ]),
  outs = ["dist"],
  visibility = [
    "//visibility:public",
  ],
)
当我调整时,我不完全确定我在调整什么,但有时我会抱怨“dist”是一个目录,有时它会抱怨使用只读文件系统

我的期望是,如果我能够在没有bazel的情况下运行
npm run build
webpack
,那么我就能够使用bazel运行它。这看起来应该是bazel的中间步骤,因为在我的外行看来,它应该做一些类似于部署的事情,结果来自webpack。我甚至可以在
/dist
中压缩所有结果,但仍然不确定如何让bazel接受它

我是否可以告诉bazel“将文件
webpacked.zip
,然后在接下来的步骤中使用它”


到目前为止,我的研究几乎没有结果表明这是非常复杂或不可能的,而且很可能不是这些工具应该如何使用。欢迎任何帮助

genrule
不知道如何处理其
输出中的目录。有几种方法:

  • 将输出目录中的所有内容压缩为
    genrule
    中的最后一步,并在
    outs
    中声明该压缩文件。缺点是处理这些文件的每一步都必须进行压缩和解压(跳过压缩可能会加快速度)

  • 编写Starlark规则,其中有用于处理目录输出的API。有关如何执行此操作的更多信息,请参见此问题:

  • 显示为支持的网页包: 因此,也许可以尝试使用nodejs规则进行调查