2016-05-17 98 views
2

在我的React js项目中,我有一些常见的Rract组件,例如Alert,Prompt,Panel等。我为我的应用程序使用模块化文件夹结构,并希望在我的模块中重用这些常用组件。在React中导入通用组件

有没有办法导入这些模块,使用node_modules或es6的导入方式?

我想实现的是:

进口{警报,面板}从 '我的-库';

我不想相对路径,因为我可能会嵌套我的模块/子模块。

我需要的是一个更干净,路径不敏感的导入,无论是使用es6/webpack(ProvidePlugin =?)。

任何帮助,非常感谢。

回答

3

我在这种情况下设置了别名。

resolve: { 
    root: path.resolve(__dirname), 
    alias: { 
    '@components': 'src/components', 
    '@controls': 'src/controls', 
    '@css': 'src/css', 
    '@img': 'src/img', 
    '@lang': 'src/lang', 
    '@layouts': 'src/layouts', 
    }, 
}, 

我用我的前缀别名,这样很明显,我请求我自己的组件,而不是NPM包。

将其具有的别名,我可以省略./../../../或者需要任何其他指定组件的位置

注意我用的WebPack捆绑,但我相信这是可能的Browserify为好。

+0

谢谢@andreyco。 – user2312798

+1

如果你觉得它有帮助,你能接受答案吗? – Andreyco

+0

当然。它也可以不用@也可以工作。谢谢你。 – user2312798

0

Andreyco的评论需要记住的一件事是,如果你是服务器端渲染而不捆绑服务器代码,那么这是行不通的。据我所知,节点本身没有等效的别名功能。

+0

仅使用客户端渲染 – user2312798