1

我已经成功地在我的 aurelia skeleton-esnext-webpack 项目中使用了 material-components-web 库,但我正在努力让它们在skeleton-esnext 项目中工作。

问题似乎在于,skeleton-esnext 项目使用 jspm 和 system.js 作为其模块加载器。

我已添加"@material/textfield": "npm:@material/textfield@^0.3.6"到我的 package.json 的 jspm 依赖项部分,这似乎将正确的 @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/textfield@0.3.6.js:1:123)
        at eval (....

对最有可能导致此问题的原因有何建议?

4

1 回答 1

0

SystemJS 正在导入插件的原始源文件而不是转译的源文件(如果您查看jspm_packages/npm/@material/textfield@0.3.6.js.

您可以通过将其中的位置更改为指向dist目录的目录来修复它textfield@0.3.6。但是,它在潜在的更新中一直被覆盖。并且它不保存在 CVS 中。

另一种更简单的方法是在视图模型中导入正确的文件:

import {MDCTextfieldFoundation} from '@material/textfield/dist/mdc.textfield';
于 2017-08-31T08:11:08.767 回答