在客户端 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 模块。
总结:有没有办法使用grunt
将material-ui
的CommonJS语法转换成一个自包含的AMD模块(或一组自包含的AMD模块)?我想避免使用 gulp
,如果绝对必要,我宁愿只使用 browserify
。
我最终使用了 grunt-webpack
。虽然它不是 AMD 模块,但我能够将我需要的文件及其依赖项捆绑在一个输出文件中。
我已经研究了几个小时如何将 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 模块。
总结:有没有办法使用grunt
将material-ui
的CommonJS语法转换成一个自包含的AMD模块(或一组自包含的AMD模块)?我想避免使用 gulp
,如果绝对必要,我宁愿只使用 browserify
。
我最终使用了 grunt-webpack
。虽然它不是 AMD 模块,但我能够将我需要的文件及其依赖项捆绑在一个输出文件中。