Javascript React can';找不到
Javascript React can';找不到,javascript,reactjs,webpack,Javascript,Reactjs,Webpack,index.js: import react from 'react'; import {render} from 'react-dom'; render( <h1>Hello World!</h1>, document.getElementById('root') ); 网页包配置: var webpack = require('webpack'); var packages = require('./package.json'); var path
index.js
:
import react from 'react';
import {render} from 'react-dom';
render(
<h1>Hello World!</h1>,
document.getElementById('root')
);
网页包配置:
var webpack = require('webpack');
var packages = require('./package.json');
var path = require('path');
module.exports = {
entry: {
main: './src/index.js',
vendor: Object.keys(packages.dependencies)
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor' // Specify the common bundle's name.
})
],
devtool: "cheap-eval-source-map",
devServer: {
contentBase: path.join(__dirname, "dist"),
publicPath: '/',
port: 9000
},
module: {
rules: [
{
test: /\.js?$/,
use: [ 'babel-loader', ],
exclude: /node_modules/
}
]
}
};
网页包输出:
Chrome开发输出:
将导入的React类命名为以大写字母开头是至关重要的。第一行应该是:
importreact from'React'代码>。这是因为所有JSX标记都将由Babel转换为类似于React的东西。createElement(..)
和React
不存在。这正是控制台输出告诉您的。以大写字母开头命名导入的React类非常重要。第一行应该是:importreact from'React'代码>。这是因为所有JSX标记都将由Babel转换为类似于React的东西。createElement(..)
和React
不存在。控制台输出会告诉你什么。你是在main.js文件中导入还是需要它?@PatrickHund更新了问题importReact
notReact
你是在main.js文件中导入还是需要它?@PatrickHund更新了问题importReact
notReact
但是在chrome dev中很愚蠢输出它说React
意味着我做对了。。。。这就是为什么它抛出了我,但在chrome-dev的输出中,它愚蠢地说,React
暗示我做对了。。。。这就是为什么它把我甩了
var webpack = require('webpack');
var packages = require('./package.json');
var path = require('path');
module.exports = {
entry: {
main: './src/index.js',
vendor: Object.keys(packages.dependencies)
},
output: {
filename: '[name].js',
path: path.resolve(__dirname, 'dist')
},
plugins: [
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor' // Specify the common bundle's name.
})
],
devtool: "cheap-eval-source-map",
devServer: {
contentBase: path.join(__dirname, "dist"),
publicPath: '/',
port: 9000
},
module: {
rules: [
{
test: /\.js?$/,
use: [ 'babel-loader', ],
exclude: /node_modules/
}
]
}
};