0

使用polymer-cli1.7.7,为 esm、es6 和 es5 支持捆绑 Polymer 3 应用程序不会输出node_modules. 因此,@webcomponents/webcomponentsjs当捆绑包使用prpl-server.

这是一个复制的小例子:

https://github.com/lpellegr/polymer-bundler-bundle-issue

本示例基于由polymer-cli init. polymer.json已编辑配置文件以生成 esm、es6 和 es5 包,如以下资源中所建议的那样:

https://polymer.github.io/pwa-starter-kit/building-and-deploying/

如果您运行polymer build,则输出目录不包含包含node_modules目录,因此不包含 webcomponentjs 的 JavaScript 文件:

build/
├── es5-bundled
│   ├── index.html
│   ├── push-manifest.json
│   ├── service-worker.js
│   └── src
│       └── _element
│           └── _element.js
├── es6-bundled
│   ├── index.html
│   ├── push-manifest.json
│   ├── service-worker.js
│   └── src
│       └── _element
│           └── _element.js
├── esm-bundled
│   ├── index.html
│   ├── push-manifest.json
│   ├── service-worker.js
│   └── src
│       └── _element
│           └── _element.js
└── polymer.json

如果您builds从中删除该选项polymer.json(从而恢复为默认模板),那么一切看起来都很好,node_modules输出正确的文件夹:

build/ └── default
    ├── index.html
    ├── node_modules
    │   ├── @polymer
    │   │   └── polymer
    │   │       ├── lib
    │   │       │   ├── elements
    │   │       │   │   └── dom-module.js
    │   │       │   ├── mixins
    │   │       │   │   ├── element-mixin.js
    │   │       │   │   ├── properties-changed.js
    │   │       │   │   ├── properties-mixin.js
    │   │       │   │   ├── property-accessors.js
    │   │       │   │   ├── property-effects.js
    │   │       │   │   └── template-stamp.js
    │   │       │   └── utils
    │   │       │       ├── async.js
    │   │       │       ├── boot.js
    │   │       │       ├── case-map.js
    │   │       │       ├── html-tag.js
    │   │       │       ├── mixin.js
    │   │       │       ├── path.js
    │   │       │       ├── resolve-url.js
    │   │       │       ├── settings.js
    │   │       │       └── style-gather.js
    │   │       └── polymer-element.js
    │   └── @webcomponents
    │       └── webcomponentsjs
    │           └── webcomponents-loader.js
    └── src
        ├── _element
        │   └── _element.js
        └── test-app
            └── test-app.js

我的有什么问题polymer.json吗?这是一个错误polymer-bundler吗?

4

1 回答 1

1

您的polymer.json文件不包含 Polymer CLI 用于决定在构建中包含什么的信息。

根据 PWA Starter Kit 添加缺失的行使其工作,例如:

"entrypoint": "index.html",
"extraDependencies": [
    "node_modules/@webcomponents/webcomponentsjs/**"
],
于 2018-07-20T20:34:36.813 回答