I次のファイルの構造を有する:ES6インポート/エクスポートモジュール
src
...
ListBox
index.js
ListBox.jsx
ListBoxItem.jsx
...
index.js
のsrc /リストボックス/ ListBox.jsx
class ListBox extends React.Component {
...
}
export default ListBox
のsrc /リストボックス/ ListBoxItem.jsx
をclass ListBoxItem extends React.Component {
...
}
export default ListBoxItem
src/ListBox/index.js
export { default as ListBox } from './ListBox'
export { default as ListBoxItem } from './ListBoxItem'
のsrc/index.js
import ... from '...'
import { ListBox, ListBoxItem } from './ListBox'
export {
...
ListBox,
ListBoxItem
}
私はバンドラとしてWebPACKのを使用して、ここであなたはWebPACKのは、検索しようとしている見ることができるようにエラー
ですよsrc/ListBox/listBox.jsxではなく、src/ListBox/index.jsxのListBoxモジュール。私がexport { default as ListBox } from './ListBox'
をexport { default as ListBox } from './ListBox.jsx'
に変更すると動作します。 ListBoxItemと同じです。ここで
は私のwebpack.config.js
module.exports = (env) => {
const config = {
devServer: {
contentBase: path.join(__dirname, 'docs'),
historyApiFallback: true,
hot: true
},
devtool: env.development ? 'cheap-module-eval-source-map' : false,
entry: {
bundle: [
'babel-polyfill',
'./docs/index.jsx'
]
},
output: {
path: path.join(__dirname, 'docs'),
filename: '[name].min.js'
},
module: {
rules: [
{
test: /\.less$/,
exclude: [
path.resolve(__dirname, 'node_modules')
],
use: [
'style-loader',
{
loader: 'css-loader',
options: {
minimize: env.production,
sourceMap: env.development
}
}, {
loader: 'postcss-loader',
options: {
plugins: [
autoprefixer({
browsers: ['last 2 versions']
})
],
sourceMap: env.development ? 'inline' : false
}
}, {
loader: 'less-loader',
options: {
sourceMap: env.development,
sourceMapContents: env.development
}
}
]
},
{
test: /\.(?:jsx?)$/,
use: 'babel-loader',
exclude: [
path.resolve(__dirname, 'node_modules'),
/.*example\.jsx$/
]
},
]
},
plugins: [
new webpack.HotModuleReplacementPlugin(),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: (module) => {
return module.context && module.context.indexOf('node_modules') !== -1;
}
}),
new HtmlWebpackPlugin({
template: 'docs/index.html'
}),
],
resolve: {
alias: {
ui: path.resolve(__dirname, './src')
},
extensions: ['.js', '.jsx']
}
};
return config
}です。
ウェブパックの設定を投稿できますか? – FuriousD
@FuriousD私は私の質問を編集しました。 – kulaeff