Бабел Бранч, похоже, не компилирует модуль polymer / lit-element - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь интегрировать Lit-element в поздний завтрак. Тем не менее, похоже, что плагин Babel не пытается скомпилировать модуль lit-element в вывод, поскольку он все еще использует оригинальный синтаксис ES6 импорта / экспорта.

Вот мой конфиг позднего завтрака: `

exports.config = {
  // See http://brunch.io/#documentation for docs.
  files: {
    javascripts: {
      // joinTo: 'js/app.js'
      joinTo: {
        'js/app.js': [
          /^node_modules/,
          /\app.js$/
        ],
        'js/editor.js': [
          /\editor.js$/
        ],
        'js/select.js': [
          /select.js$/,
        ]
      }
    },
    stylesheets: {
      joinTo: 'css/app.css',
      order: {
        after: ['../priv/static/css/app.scss'] // concat app.css last
      }
    },
    templates: {
      joinTo: 'js/app.js'
    }
  },

  conventions: {
    // This option sets where we should place non-css and non-js assets in.
    // By default, we set this to '/web/static/assets'. Files in this directory
    // will be copied to `paths.public`, which is 'priv/static' by default.
    assets: /^(web\/static\/assets)/
  },

  // Phoenix paths configuration
  paths: {
    // Dependencies and current project directories to watch
    watched: [
      'static', 'css', 'js', 'vendor'
    ],

    // Where to compile files to
    public: '../priv/static'
  },

  // Configure your plugins
  plugins: {
    babel: {
      // Do not use ES6 compiler in vendor code
    },
    sass: {
      mode: 'native'
    },
    uglify: {
      mangle: false,
      compress: {
        global_defs: {
          DEBUG: false
        }
      }
    }
  },

  modules: {
    autoRequire: {
      "js/app.js": ["js/app"]
    }
  },

  npm: {
    enabled: true
  }
}

Вот мой код app.js

import {LitElement, html} from '@polymer/lit-element'

function autoComplete(options){ ... }

export var App = {
   autoComplete
}

И, наконец, скомпилированный код вместе с журналом консоли:

...
require.register("@polymer/lit-element/lit-element.js", function(exports, require, module) {
  require = __makeRelativeRequire(require, {}, "@polymer/lit-element");
  (function() {
    import { PropertiesMixin } from '@polymer/polymer/lib/mixins/properties-mixin.js';
    // "Uncaught SyntaxError: Unexpected token {" on above line
import { camelToDashCase } from '@polymer/polymer/lib/utils/case-map.js';
import { render } from 'lit-html/lib/shady-render.js';
export { html, svg } from 'lit-html/lib/lit-extended.js';
...
...