你好,之前我写的vue和ng2,刚接触nerv,想问一下我用了athena2初始化项目,然后我想引入antd,但是会抱react和react-dom的错,请问这里nerv怎么处理
woshixiaoqianbi opened this issue · 5 comments
woshixiaoqianbi commented
你好,之前我写的vue和ng2,刚接触nerv,想问一下我用了athena2初始化项目,然后我想引入antd,但是会抱react和react-dom的错,请问这里nerv怎么处理
luckyadam commented
Hello,在项目的根目录下 config
的 index.js
配置里可以加入webpack的配置,将react
、react-dom
alias 成 nerv
如
// config/index.js
const config = {
...
webpack: {
resolve: {
alias: {
react: 'nervjs',
'react-dom': 'nervjs'
}
}
}
}
...
可以参考一下项目 https://github.com/NervJS/nerv-website 的配置
woshixiaoqianbi commented
@luckyadam ok,多谢,麻烦再问一下,antd默认的css样式没有加载进来,athena2需要怎么配置
luckyadam commented
@woshixiaoqianbi 看了一下antd的文档,样式是需要自己引入的,可以在页面的js里引入
import 'antd/dist/antd.css'
另外,antd的依赖的很多组件使用了 create-react-class
来创建组件,Nerv提供了 nerv-create-class
来达到同样目的,你需要安装 nerv-create-class
包,并且在 config/index.js
中增加一条webpack的alias配置
// config/index.js
const config = {
...
webpack: {
resolve: {
alias: {
react: 'nervjs',
'react-dom': 'nervjs',
'create-react-class': 'nerv-create-class'
}
}
}
}
...
woshixiaoqianbi commented
@luckyadam 非常感谢
vincentmrlau commented
偶然逛到这个issue,@luckyadam 应该使用babel-plugin-import
这个插件动态引入