我刚刚使用npm发布了一个程序包,然后将其安装并重新安装到新项目中,但是它给了上面这个错误
> ./node_modules/react-js-validator/src/inputs/EmailInput.js
Module parse failed: Unexpected token (38:12)
You may need an appropriate loader to handle this file type.
| render() {
| return (
| <div >
| <span className="error-span" style={this.props.styleError} >
| {this.state.errorStatus ? this.state.errorMsg : null}
从第38行开始我的html div 开始。
我的npm包package.json在这里
{
"name": "react-js-validator",
"version": "1.0.9",
"description": "a simple package for apply input validation on react js validation such as numaric,email,letter,custom rejex,minimum length and max length etc",
"main": "index.js",
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"author": "anil sidhu",
"license": "ISC",
"devDependencies": {
"autoprefixer": "7.1.2",
"babel": "^6.23.0",
"babel-cli": "^6.26.0",
"babel-core": "6.25.0",
"babel-eslint": "7.2.3",
"babel-jest": "20.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-transform-es2015-destructuring": "^6.23.0",
"babel-plugin-transform-object-rest-spread": "^6.26.0",
"babel-preset-react-app": "^3.0.3",
"babel-runtime": "6.26.0"
},
"transpile": "babel src/index.js --out-file src/index-transpiled.js"
}
答案 0 :(得分:1)
我刚刚得到了答案,我们不能在npm包中使用纯HTML代码进行响应。使用这样的代码
render() {
let collection = React.createElement("div", {},
React.createElement("span", { className: 'error-span' }, this.state.errorMsg),
React.createElement("input", {
type: "text",
onChange: (e) => this.Valid(e.target.value),
onClick: (e) => this.props.return(this.state.errorStatus)
}
)
)
return (collection)
}