Cordova: platform_www文件夹有什么用途?

12

在Cordova中添加一个平台会为该平台创建文件和文件夹。这包括一个名为 platform_www 的文件夹,例如 ios\platform_www,该文件夹中的文件可在 www 文件夹中使用。

请解释一下这个文件夹的用途以及为什么需要它?

3个回答

24

platform_www概述

  • 运行命令cordova platform add ios会在platforms/ios/下创建platform_www目录。该目录包含JavaScript文件,例如cordova.js,这些文件将在构建移动应用程序时添加到其中。此时,platforms/ios/www目录尚不存在。
  • 每个Cordova插件都包含一个JavaScript包装器,用于与本机代码(iOS swift/objective-c、Android Java/NDK等)通信。运行命令cordova plugin add会更新platform_www目录,并包含有关该插件的JavaScript包装器文件。此时,platforms/ios/www目录尚不存在。
  • 运行cordova build ios相当于运行cordova prepare ios,然后运行cordova compile ioscordova prepare命令将用户的www目录复制到根目录中,并将其与platforms\ios\platform_www合并,以创建一个新目录platforms\ios\www
  • 运行cordova clean将删除platforms\ios\www目录,但保留platforms\ios\platform_www目录和www目录,以便将它们组合在未来的构建中使用。运行cordova plugin removeplatforms/ios/platform_www中删除特定插件的JavaScript包装器文件。 运行cordova platform remove ios会删除platforms/ios/platform_www目录。

很好的回答 - 除了你是不是指的是“platform_www”而不是“www_platforms”? - track0
1
@track0 - 谢谢。是的,哈哈。不知怎么地,我竟然能在一个不存在的目录上写出整个摘要!你说得对,目录是“platform_www”。我已经更新了答案。感谢您的评论。 - tim-montague

6

platform_www目录被Cordova CLI用作平台特定JS文件的“主源”,这些文件最终进入www目录。也就是说,它包括cordova.jscordova.js的源文件和任何插件JS文件。当您准备平台时,CLI使用platform_www并将其与其他www内容混合,创建平台的www目录。


那我应该把 platform_www 中的所有内容复制到我的 www 目录中吗? - IgorGanapolsky
1
@IgorGanapolsky 当您运行准备命令时,Cordova会自动执行该操作。 - Dan

0

我认为最有意义的答案将在Cordova源代码中得到解答。这个链接展示了每个文件夹和目录的结构。

目录结构包含一些特殊命名的目录,其中包含构建过程中的资产。
这些特殊目录包括:
- www:(必需)此目录包含应包含在您的应用程序中的HTML、JavaScript和其他资产。此目录应包含一个名为index.html的文件,该文件是您的应用程序的HTML根。 - merges:(可选)此目录可以包含几个以PhoneGap Build支持的平台命名的目录(ios、android、winphone、windows)。在构建应用程序之前(插件安装后),此目录中的内容将被复制到www目录中。此目录用于根据平台更改的内容,例如仅用于Android构建的样式表将位于merges/android/style.css中。 - 任何其他子目录都不会与应用程序打包在一起。例如,您的config.xml可以包含对包含在顶级目录中的启动画面和图标的引用,如果某个文件未用于特定平台的启动画面或图标,则不会将其打包在应用程序中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接