[编辑]
所以我使用material-ui作为参考,但未能认识到当他们实际将他们的lib发布到npm时,他们似乎只发布了他们的src
目录,这就是import RaisedButton from 'material-ui/RaisedButton'
工作的原因
所以现在,我刚刚在我的项目中添加了一个别名:
alias: {
'component-lib': path.join(__dirname, 'node_modules', 'component-lib', 'src')
...
}
[/编辑]
我目前正在处理共享组件库。我从另一个项目中进行了符号链接(来自npm link
)component-lib
,我对导入有疑问。
我的其他项目正在由Babel6 / Webpack@2.2.0编译/捆绑。我想要做的是说:
import MyComponent from 'component-lib/MyComponent'
目前正在抛出以下内容:
ERROR in ./src/Embed.jsx
Module not found: Error: Can't resolve 'component-lib/MyComponent' in '/dev/my-project/src'
如果我改为说以下内容,则可行:
import { MyComponent } from 'component-lib'
我遵循与material-ui相同的文件夹结构(允许以我想要的方式导入),也就是说我的component-lib
结构如下所示:
src/
MyComponent
MyComponent.js
index.js
index.js
package.json
的src / index.js:
export MyComponent from './MyComponent'
的src / MyComponent的/ index.js
export default from './MyComponent'
的src / MyComponent的/ MyComponent.js
/* stateless functional react component */
export default (props) => (
<div>My Awesome Component {props.isTheHawtness}</div>
)
的package.json:
...
"main": "./src/index.js",
...
我缺少什么/不理解?