首页 文章

是否可以将模块导入Polymer组件?

提问于
浏览
1

我想保持我的聚合物组件很好地封装,但是现在如果我尝试将任何外部模块导入到组件中,我会得到“导入”的未定义错误 .

我使用Webpack捆绑我的应用程序,但这只打包我的javascript文件 .

有没有办法将我的Polymer组件封装到一个单独的html文件中,或者在进口时我必须将js部分分开?

例:

<link rel="import" href="../bower_components/polymer/polymer.html">

<dom-module id="my-new-view">
  <template>
    <style>
    </style>

    <h1>New view</h1>
  </template>

  <script>

   import { myConstant } from '../module.js'; //<---- this throws error for the import'

    Polymer({
      is: 'my-new-view'
    });
  </script>
</dom-module>

1 回答

  • 0

    只有Webpack

    为了使它像这样工作,你必须将 module.js 导出为库,以便它可以在Webpack之外使用 . 一旦它成为库的一部分并包含在全局范围内,您就可以像访问它一样访问它

    var myConstant = Module.myConstant;
    
    Polymer({
      is: 'my-new-view'
    });
    

    将JS代码放在单独的文件中可能要容易得多 .

    https://stackoverflow.com/a/34361312/4722305 .

    Crisper

    另一个选择可能是在调用webpack之前在代码上运行https://github.com/PolymerLabs/crisper . Crisper将从您的代码中删除 <script> 标记,并将它们转换为与Webpack兼容的 JS 文件 .

相关问题