ParcelJS 如何使用相同代码将HTML构建输出到不同子目录
问题解答
1. 调整目录后的构建命令
Parcel默认会保留入口文件的相对目录结构输出到dist目录,直接把入口路径替换为调整后的子目录HTML文件即可,命令如下:
parcel build --public-url . en/index.html de/index.html
如果后续语言版本增多,也可以用glob匹配简化写法(注意Windows等部分系统需要给glob规则加引号,避免被shell提前解析):
parcel build --public-url . "*/index.html"
2. HTML内相对链接的调整规则
- 你需要先手动调整源文件内的相对路径,确保它能正确指向源目录中的资源位置:原来的HTML文件在项目根目录,
href="example.css"可以直接匹配根目录的CSS文件,现在HTML移动到了en/de子目录,需要把路径修改为../example.css,否则Parcel会在子目录下查找资源找不到,直接抛出报错。 - 源文件路径调整到可正确访问资源后,不需要手动适配构建后的目录结构,Parcel会自动根据构建后HTML的输出位置,把资源路径替换为符合public-url规则的正确相对路径。
内容的提问来源于stack exchange,提问作者Moehrengulasch
相关产品推荐
相关产品推荐

