我想保持我的聚合物组件很好地封装,但是现在如果我尝试将任何外部模块导入到组件中,我会得到“导入”的未定义错误 .
我使用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 回答
只有Webpack
为了使它像这样工作,你必须将
module.js
导出为库,以便它可以在Webpack之外使用 . 一旦它成为库的一部分并包含在全局范围内,您就可以像访问它一样访问它将JS代码放在单独的文件中可能要容易得多 .
见https://stackoverflow.com/a/34361312/4722305 .
Crisper
另一个选择可能是在调用webpack之前在代码上运行https://github.com/PolymerLabs/crisper . Crisper将从您的代码中删除
<script>
标记,并将它们转换为与Webpack兼容的JS
文件 .