问题标签 [vulcanize]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
polymer - 在生产中硫化可重复使用的元素
我有一个自定义元素(我的元素),这个文件夹结构:
我的元素使用上述两个纸元素,但它通过规范路径导入它们:
代替
这可以通过使用 polyserve 来实现,正如 Rob Dodson 在Create reusable elements中所描述的那样,或者像我一样使用自定义的 gulp 配置。
在这种情况下如何硫化my-element.html
?
Vulcanize 显然无法检测到规范路径,所以我尝试了几件事,包括 vulcanize 选项和 gulp 技巧(如 gulp-replace 管道),但还没有成功。谢谢!
javascript - 使用 google-signin 构建聚合物项目时出错
坦率地说,我不确定如何重现此错误。我所知道的是,在构建的某个地方,我收到以下消息:
s的个数../
对应我的项目根目录的深度,即它要搜索的绝对路径是/bower_components/google-signin/google-signin.css
. 如果我将项目移动到不同深度的不同目录,它会相应地改变。
该错误仅取决于主应用程序容器的自定义元素中的这一行(即,它的一个实例恰好存在于index.html
文件中,并且它是 的直接子级<body>
):
我已经注释掉了 的所有用法<google-signin>
,但错误仍然存在。我已将它放在代码导入部分的每个位置。如果我注释掉该行,则构建成功。
我使用入门工具包创建了一个新项目并向其中添加了一个<google-signin>
元素。建设该项目通过。我bower_components
将该项目中的文件夹复制到我自己的文件夹中。构建仍然失败。
寻找解决方案,我在stackoverflow上找到了这个答案并尝试了它无济于事。
我已经使用了nodejs
和bower
来自npm
我的操作系统的包管理器。
我还应该注意,该应用程序在开发服务器中功能齐全,例如polymer serve --open
.
我在bower
下面发布了我的依赖项。我的系统正在运行 Arch Linux,最后一次完整的系统更新是昨天。该构建在更新之前也无法正常工作。
此外,这里是文件使用的导入的完整列表:
polymer - 是否可以防止外部脚本与聚合物 cli 内联?
我们正在使用 polymer-cli 来构建我们的聚合物应用程序。
我之前在一个只使用了几个 Polymer 组件的项目中直接使用了 vulcanize,它具有内联外部脚本和排除一些内联脚本的标志。
但是,我看不到一种方法可以将这些标志与我认为正在使用正在使用硫化的聚合物构建的聚合物 cli 一起使用?
我想要这样做的原因是为了更容易调试生产包/构建中的一些问题。理想情况下,我也希望能够使用源映射,但即使只是能够使用 Chrome 的漂亮打印来调试缩小的代码也总比没有好。
我注意到聚合物构建似乎正在切换到聚合物捆绑器 - 也许硫化已重命名为聚合物捆绑器,但同样的问题适用
polymer - 在主要硫化包之外导入脚本的聚合物问题
在开发聚合物网络组件时,我最终通过 vulcanize 运行它们以用于生产。不幸的是,当我想使用两个单独的捆绑包时,这给我带来了问题。
例如,我有一个base.html
文件,其中包含将在整个站点的每个页面上使用的所有主要导入。我将其硫化为
base.build.html
.
然后对于不同的页面,我可能只针对该页面进行自定义导入,例如。
contact-page.html
这两个都加载在<head>
示例片段:
这里的想法base.build.html
是缓存并在所有后续页面上可用。其他包仅根据需要加载和缓存。
问题是,如果我只加载我的基本包,所有 web 组件都可以正常工作;但是,如果我随后进行任何额外的导入,则页面上的大多数 Web 组件都会中断,控制台中会出现大量错误消息。
当前的解决方法是只在我的基本包中包含所有额外的导入,但这当然会导致加载脚本和 css 的文件更大,而我不需要在每个页面上都需要这些文件。
这是 Vulcanize 的一个技巧吗?或者可能与 脚本的导入顺序有关?
注意:有问题的网站不是单页应用程序。这些是传统的服务器端呈现的网站模板,因此构建过程与许多 polymercli 工具非常不同。
gulp - Gulp 到版本文件名并替换链接
对于任何不以 开头的 URL /static
,我提供以下服务index.html
:
注意:/
in以/app.html
确保它始终app.html
从根服务。
我希望运行 gulp/vulcanizeapp.html
到:
- 创建一个位于以下位置的捆绑包:
/static/<version-or-timestampp-or-hash-here>/app.html
- 将导入更改
index.html
为指向上面生成的包
我目前有以下 gulp 文件可以进行硫化,但它不会进行版本控制或更改index.html
链接:
如何实现以上两点?