包裹JS。使用 --public-url 选项

jet*_*016 3 javascript frontend node.js webpack parceljs

我正在将 Parcel JS 用于个人项目,但我对这个选项感到非常困惑:

--公共网址

这是文档:https : //en.parceljs.org/cli.html#options

这真的很稀缺。

1)它的主要用途是什么?
2)它说它在:servewatchbuild 中可用。
使用--public-url时,这 3 个选项之间有什么区别吗?
3) 最后但并非最不重要的是,-- public-url--out-dir如何 协同工作?当我们同时使用这两个选项时,对设置有什么限制吗?

谢谢。

小智 9

  1. --public-url 用于指定从何处提供捆绑资产。

举个例子:

默认值为--public-url /,它会生成这样的标签。

<script src="/src.133713ex.js">
Run Code Online (Sandbox Code Playgroud)

如果站点不是从域根目录提供的,这将不起作用。
例如,在 URL 所在的 Github Pages 站点上username.github.io/project-name/,您需要从 index.html 文件位置提供它们。

这就是--public-url发挥作用的地方:

--public-url ./
Run Code Online (Sandbox Code Playgroud)

通过将其添加到我们的构建选项中,我们将生成的标签更改为以下内容,这将起作用。

<script src="src.133713ex.js">
Run Code Online (Sandbox Code Playgroud)
  1. 这只是意味着您可以通过各种方式使用它来启动包裹流程。

  2. 是的,他们确实一起工作!--out-dir只定义生成捆绑文件的目录(默认为 /dist),--public-url并按上述说明运行。

  • 很好的答案,谢谢,但是首先将“./”作为默认值没有意义吗? (2认同)

小智 8

注意:如果您进行更改--public-url,您可能必须在构建之前删除该.parcel-cache文件夹才能看到站点中反映的更改。否则,根据我的经验,index.html尝试访问与public-url更改之前相同的文件路径。