如何在聚合物元素中导入本地演示和生产的本地js文件

时间:2017-10-16 23:06:52

标签: javascript polymer

当我使用聚合物服务在本地运行演示时,我收到一个错误,即js文件的路径不好。此js文件用于导入的my-imported-element。

如果我在这里修复它,那么当我部署应用程序时,我在生产中遇到错误的路径错误

如何使路径适用于两者?这也是图像文件的问题。

如果我正在运行导入my-element的演示,那么本地的作用是什么:

workerFile: "../bower_components/my-imported-element/js/Broadway/Decoder.js",

在项目服务器上有效:

workerFile: "bower_components/my-imported-element/js/Broadway/Decoder.js",

根据我的理解,运行"聚合物服务"然后进入演示将从一个组成的" components / my-element"像这样的道路:

http://127.0.0.1:8081/components/my-element/demo/

所以我猜我需要的路径是

http://127.0.0.1:8081/components/my-element/bower_components/my_imported_element/js/Broadway/Decoder.js

我是否需要在检查" demo"的URL的代码中添加一个hacky行。并有条件地添加" ../"到路上?或者有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

解决方案是使用名为resolveUrl的聚合物方法。这“相对于包含此元素的dom-module的文档的原始位置重写给定的URL。此方法将在硫化之前和之后返回相同的URL。”

到目前为止,无论我是在单个元素的演示页面中运行此行,还是从其他地方导入该元素,该路径都可以完美地运行。

workerFile: this.resolveUrl("js/Broadway/Decoder.js")