やりたいこと
Reactのcomponentをnpmにnode_moduleとして公開したいです。
##起きたこと
webpackで出来たものをbundleして、それをimportしてもobjectとしてimportされエラーが起きる。ローカルサーバーで建てたときはうまくimportできました。
出てくるエラーはこんな感じです。
エラーの内容を見てもどこがミスっててるのかがいまいちわかりません。
皆さんの知見をお貸しください。
##コード
index.tsx(bundleするComponent)
tsx
1import React from 'react' 2interface(以下略) 3export default class App extends React.Component<Props,State>{ 4 render(){ 5 return( 6 <div> 7 This is App 8 </div> 9 ) 10}
package.json
json
1{ 2 "name":"test-app", 3 (略) 4 "main":"lib/bundle.js", 5 "scripts":{ 6 "start":"webpack-dev-server --mode development", 7 "build":"webpack --mode production" 8 }, 9 (略) 10}
webpack.config.js
js
1const path = require('path'); 2 3module.exports = { 4 mode:"production", 5 entry: path.join(__dirname,"./App.tsx"), 6 module: { 7 rules: [ 8 { 9 test: /.ts(x?)$/, 10 loader: 'ts-loader', 11 exclude: /node_modules|lib/, 12 }, 13 { 14 test: /.js(x?)$/, 15 loader:'babel-loader', 16 exclude: /node_modules|lib/, 17 }, 18 { 19 test: /.scss$/, 20 use:["style-loader","css-loader","sass-loader"] 21 }, 22 { 23 test: /.css$/, 24 use:["style-loader","css-loader"] 25 } 26 ] 27 }, 28 resolve: { 29 modules: ["node_modules"], 30 extensions: ['.js','.jsx','.ts','.tsx'] 31 }, 32 output: { 33 path: path.join(__dirname,"./lib/"), 34 filename: "bundle.js" 35 } 36}
index.js(node_moduleをimportする側)
js
1import React from 'react' 2 3import App from 'test-app' 4 5interface(略) 6 7export default class Test extends React.Component <Props,State> { 8 render(){ 9 return( 10 <div> 11 <App /> 12 </div> 13 ) 14 } 15}
よろしくお願いします!!
あなたの回答
tips
プレビュー