在客户端 requireJS 环境中使用 material-ui?

Using material-ui in client-side requireJS environment?

我已经研究了几个小时如何将 material-ui 作为我的应用程序的客户端 AMD 模块,这是我最接近的结果。使用 grunt-amd-wrap,我在我的 G运行t 文件中使用了以下 g运行t 任务:

amdwrap: {
  materialui: {
    expand: true,
    cwd: 'node_modules/material-ui/lib/',
    src: ['**/*.js'],
    dest: 'client/js/components/',
  },
},

并在 material-ui 完成转译到其 lib 文件夹后将其安排到 运行。但是,这仍然会带来问题,因为文件 require() 以下模块:

"inline-style-prefixer": "^0.5.1",
"lodash.throttle": "~3.0.4",
"lodash.debounce": "~3.1.1",
"react-addons-transition-group": "^0.14.0",
"react-addons-update": "^0.14.0",
"react-addons-create-fragment": "^0.14.0",
"react-addons-pure-render-mixin": "^0.14.0",
"warning": "^2.1.0"

除了 material-ui 本身,我不知道如何将它们捆绑到客户端 AMD 模块。

总结:有没有办法使用gruntmaterial-ui的CommonJS语法转换成一个自包含的AMD模块(或一组自包含的AMD模块)?我想避免使用 gulp,如果绝对必要,我宁愿只使用 browserify

我最终使用了 grunt-webpack。虽然它不是 AMD 模块,但我能够将我需要的文件及其依赖项捆绑在一个输出文件中。