Reactjs 反应-如何使用npm链接模块
如何使用通过导入的模块Reactjs 反应-如何使用npm链接模块,reactjs,webpack,babeljs,npm-link,Reactjs,Webpack,Babeljs,Npm Link,如何使用通过导入的模块 npm link 是否将应用程序导入网页包 MyModule_Folder --------------------------------- |--package.json |--src |--myModule |--MyComponent.jsx |--MyStyle.css ... |--public |--index.html App
npm link
是否将应用程序导入网页包
MyModule_Folder
---------------------------------
|--package.json
|--src
|--myModule
|--MyComponent.jsx
|--MyStyle.css
...
|--public
|--index.html
App
---------------------------------
|--package.json
|--src
...
MyModule/package.json是这样的
{
"name": "@mymodule/external",
"version": "1.0.0",
"main": "src/index.jsx",
"babel": {
...
},
"devDependencies": {
...
},
"dependencies": {
...
},
"scripts": {
...
}
}
我打字
cd <path_to_MyModule_Folder>
npm link
cd <path_to_MyReactApp>
npm link @mymodule/external
我遇到一个错误导入导出MyModule时出错 MyModule.js
import React from 'react'
export function helloWorld() {}
Class Esterno extends React.Component {
render() { ..... }
}
export default Esterno
index.js
export * from './MyModule.js'
现在想象一下它的用途
import Esterno from 'mymodule'
console.log(Esterno)
您现在正在导入模块(*)的所有内容,因此otuput将
object = {
helloWorld: function() {}
default: class Esterno {}
}
现在让我们更改index.js中的导出
export default from './MyModule.js`
现在将输出控制台日志
object = class Esterno {}
因此,您缺少导出/导入*
和默认值之间的差异默认值是默认模块,*
是模块内所有导出的对象。您可以发布错误吗?错误是:元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件)但得到:未定义。请检查n的呈现方法
那么您有错误的MyModule请显示myModuleIn MyModule的完整源代码index.ja有这个类从“react”导入{Component};类Esterno扩展了Component{constructor(props){super(props);console.log('ElementoEsterno.constructor');this.val=15;}render(){return(Elemento ESTERNO);}}}导出默认的ESTERNO
和包含以下内容的index.js文件:export*from./ESTERNO.jsx';
不幸的是,我仍然有相同的元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件)但是得到:未定义。检查n的呈现方法。
。你在package.json的外部模块中指定了src/index.js
这个文件不存在,你在根目录中有它,你仍然有export*而不是我写的export default…我修复了!!!这是repo和哪里?我仍然看到export*
object = class Esterno {}