aurelia - ошибка при использовании материала-компонентов-сети с проектом skelton-esnext

Я успешно использовал веб-библиотеку material-components-web из своих проектов aurelia скелет-esnext-webpack, но я изо всех сил пытаюсь заставить их работать в проекте скелета-esnext.

Проблема, похоже, в том, что проект скелета-esnext использует jspm с system.js в качестве загрузчика модулей.

Я добавил "@material/textfield": "npm:@material/textfield@^0.3.6" в раздел зависимостей jspm моего package.json, который, кажется, устанавливает правильные библиотеки @material в мои jspm_modules/npm/@material.

Теперь, когда я пытаюсь получить доступ к любому классу из этой библиотеки из любой моей модели представления aurelia

import {MDCTextfieldFoundation} from '@material/textfield';

Я получаю следующую ошибку в браузере при запуске проекта:

 Error: (SystemJS) Unexpected token import
    SyntaxError: Unexpected token import
        at eval (<anonymous>)
        at Object.eval (http://localhost:9000/jspm_packages/npm/@material/[email protected]:1:123)
        at eval (....

Любые предложения о том, что, скорее всего, вызывает эту проблему?


person user4912152    schedule 30.08.2017    source источник


Ответы (1)


SystemJS импортирует необработанный исходный файл плагина вместо транспилированного (вы можете увидеть это, если заглянете в jspm_packages/npm/@material/[email protected].

Вы можете исправить это, изменив местоположение так, чтобы оно указывало на каталог dist каталога [email protected]. Тем не менее, он все время переопределяется при потенциальных обновлениях. И он не сохраняется в CVS.

Другой, более простой подход — импортировать правильный файл в вашу модель представления:

import {MDCTextfieldFoundation} from '@material/textfield/dist/mdc.textfield';
person Marc Scheib    schedule 31.08.2017
comment
спасибо, Марк Шейб, это исправляет ошибку. один быстрый вопрос, который мы теперь ссылаемся на @material/textfield/dist/mdc.textfield, но фактическая папка/файл в jspm_packages/npm — это @material/[email protected]/dist/mdc.textfield, я так понимаю, jspm знает, что игнорирует @ 0.3.6 часть? - person user4912152; 31.08.2017