javascript - ParcelJS:使用相同的代码将 HTML 构建到不同的子目录
问题描述
我有两个使用相同 Javascript 代码和资产的 .html 文件。由于它们代表同一站点的不同语言版本,我想用 parcel 将它们构建到不同的子目录中。
目前,我正在以不对称的方式构建这些。.html 文件是入口点,index.html
是英文版本:
电流输入:
|-*.css, *.js, ...
|–index.html
|-de.html
电流输出:
dist
|-*.css, *.js, ...
|-index.html
|-de.html
当前构建命令
parcel build --public-url . index.html de.html
但是,我希望以更对称的方式拥有它们:
所需输入:
|-*.css, *.js, ...
|–en
|-index.html
|-de
|-index.html
期望的输出:
dist
|-*.css, *.js, ...
|–en
|- index.html
|-de
|- index.html
我在这里想知道两件事:
- 构建命令需要是什么样的?
- 当更改文件的位置 from
index.html
和de.html
toen/index.html
andde/index.html
时,我是否已经向上移动了 html 文件中的相对链接,例如 from<link rel="stylesheet" href="example.css">
to<link rel="stylesheet" href="./example.css">
或者这是否通过更改构建命令自动处理?
解决方案
我可以使用这里的错误报告中的这个示例自己解决它。因为我只想保留我的入口点的文件结构(在我的例子中是 html 文件),所以这可以很容易地实现。
例如,使用以下输入:
|- test.js
|- locales
|- en
|- index.html
|- de
|- index.html
我得到以下输出:
dist
|- test.js
|- en
|- index.html
|- de
|- index.html
在我的package.json
:
parcel build locales/**/*.html --public-url ../
要test.js
在其中一个 html 文件中使用,有必要使用这种结构向上两个目录:
<script src="../../test.js"></script>
当然也可以省略子目录locales
,那么只../
需要在脚本中使用即可。
如果一个人想要保留非入口点的目录结构,这似乎并不容易,但就我而言,这很容易。
推荐阅读
- javascript - 从数组中拆分和重新格式化字符串,检查字符串是否以某些字符开头,添加缺失的字符,将结果映射到新数组
- ios - 找不到构建输入文件 - 整个文件夹?
- ruby-on-rails - NameError: 未初始化的常量 Capistrano::Puma
- python - 如何组合python列表中的每个第n个dict元素?
- json - 如何从位于 S3 中的 130,000 多个 Json 文件中快速提取信息?
- macos - 无法使用 Docker 在 macOS Catalina 上“制作”Akeneo PIM
- embedded - STM32L452 MCU 上的 SD DMA 出现问题
- ruby - Ruby .find_all 用于大于 x 的数字
- python - Numpy:具有积分限制的数值积分
- java - Java slack sdk客户端如何使调用异步