ParcelJS:使用相同的代码构建 HTML 到不同的子目录
ParcelJS: Build HTML to different subdirectories using the same code
我有两个 .html 文件使用相同的 Javascript 代码和资产。由于它们代表同一站点的不同语言版本,我想用 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
我想知道两件事:
- 构建命令需要是什么样的?
- 将文件位置从
index.html
和 de.html
更改为 en/index.html
和 de/index.html
时,我是否将 [=57] 中的相关链接上移了=] 文件,例如。 G。从 <link rel="stylesheet" href="example.css">
到 <link rel="stylesheet" href="./example.css">
还是通过更改构建命令自动处理?
我能够使用错误报告中的这个例子自己解决它 here。因为我只想保留入口点的文件结构(在我的例子中是 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 ../
要在其中一个 html 文件中使用 test.js
,必须按此结构向上移动两个目录:
<script src="../../test.js"></script>
当然也可以省略子目录locales
,那么在脚本中只需要../
即可。
如果要保留非入口点的目录结构,似乎并不那么容易,但对于我来说,事实证明它非常容易。
我有两个 .html 文件使用相同的 Javascript 代码和资产。由于它们代表同一站点的不同语言版本,我想用 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
我想知道两件事:
- 构建命令需要是什么样的?
- 将文件位置从
index.html
和de.html
更改为en/index.html
和de/index.html
时,我是否将 [=57] 中的相关链接上移了=] 文件,例如。 G。从<link rel="stylesheet" href="example.css">
到<link rel="stylesheet" href="./example.css">
还是通过更改构建命令自动处理?
我能够使用错误报告中的这个例子自己解决它 here。因为我只想保留入口点的文件结构(在我的例子中是 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 ../
要在其中一个 html 文件中使用 test.js
,必须按此结构向上移动两个目录:
<script src="../../test.js"></script>
当然也可以省略子目录locales
,那么在脚本中只需要../
即可。
如果要保留非入口点的目录结构,似乎并不那么容易,但对于我来说,事实证明它非常容易。