Cómo ejecutar el programa reaccionar a través del paquete web
mkdir reaccionar-demo
cd reaccionar-demo
npm init-y
NPM I webpack webpack -dev- servidor html-web pack-plugin web pack-merge babel-loader babel-core CSS-loader style-loader babel-preset-react-hmre babel-preset-es 2015 babel-preset-react-D
Aplicación mkdir
área mkdir
activos mkdir
Toque activos/index.tmpl.html
Segundo paso, Editar index.tmpl. html de la siguiente manera:
lt! DOCTYPE html gt
lthtml gt
lthead gt
ltmeta mon = {
Entrada: {
aplicación : PATHS.app,
},
Salida: {
ruta: PATHS.build,
Nombre de archivo: 'bundle. ',
},
Complemento: [
Nuevo HtmlWebpackPlugin({
Título: "React Demo",
Plantilla: ruta.template,
Inyección: "cuerpo",
}),
],
Módulo: {
Cargador: [{
Prueba:/\. jsx? $/,
Cargador: ['¿Babel? Directorio de caché '],
Incluye: PATHS.app,
}, {
Prueba: /\. css$/,
Cargadores: ['style', 'css'],
Incluye: PATHS.app,
}],
},
Resolución: {
Extensión: [' ', '. js','. jsx'],
},
};
if (TARGET === 'inicio' ||! objetivo){
module.exports = merge(common, {
herramienta de desarrollo: "eval-source-map",
devServer: {
Biblioteca de contenido: "/ dist",
historyApiFallback: verdadero,
hot: verdadero,
inline: verdadero,
progreso: verdadero,
Estadísticas: "Solo errores",
},
Complementos: [
Nuevo HotModuleReplacementPlugin(),
] ,
});
}
if (TARGET === 'compilar') {
módulo.exportaciones = fusionar( común, { });
}
Paso 4: en este punto, se completa la configuración del paquete web requerida para reaccionar. A continuación, escribamos un pequeño ejemplo para generar un archivo de reacción real.
npm reacciono reaccionar enrutador de reacción aleatoria
Toque app/App.jsx
Toque app/index.jsx
Editar aplicación. jsx, como se muestra a continuación:
Importar React desde "react", {Component};
Importar {
enrutador,
ruta,
enlace,
enlace de índice,
ruta de índice,
historial de hash,
} desde 'react-router';
const activeStyle = {
Color: '#53acff',
};
const Nav = ()= gt;(
ltdiv gt
ltIndexLink solo activeonindex estilo activo = { estilo activo } to = "/" gt;Página de inicio
ltIndexLink solo activeonindex estilo activo = { estilo activo } to = "/address " gt; dirección
lt/div gt
const Container = (props ) = gt; ltdiv gt
ltnav/>;{props.child}
lt/div gt;;
const Twitter =()= ltdiv; gt@ xiaomingplus twitter lt/div gt;
const insta gram =()= gt; ltdiv gt@ xiaomingplus instagram lt/div gt;
const no encontrado =( ) = gt; (
lth 1 gt; 404.. ¡No se puede encontrar la página! lt/h 1 gt;
);
const Inicio = ( )= gt; lth 1 gt; Hola, esta es la página de inicio.
lt/h 1 gt;;
const Dirección =(props)= gt; ltdiv gt
ltbr/>;
ltlink estilo activo = { { color :' # 53 acff ' } } to = "/address " gt;Esto es Twitter
ltLink to="/address/instagram " >Esto es Instagram
lth 1 gt; ¡Bienvenidos el uno al otro! lt/h 1 gt;
{Props.Child}
lt/div gt;;
Componente de extensión de aplicación de clase{
Construct(){
}
render() {
return(
historial de ltrouter = { hashHistory } gt p>
ltroute path="/"component={Container}gt
ltindex route componente={Home}/gt;
ltroute path="/Address" componente = { Dirección } gt;
componente de ruta ltindex = { Twitter }/ gt
ruta de ruta = " insta gram " componente = { insta gram }/ gt; lt/Route gt;
ruta ruta = " * " componente = { no encontrado }/ gt;
lt/Route gt;
lt/Router gt ;
);
}
}
Exportar aplicación predeterminada;
Editar el archivo index.jsx :
Importar React desde "React";
Importar ReactDOM desde "react-dom"
Importar aplicación desde '. /app . jsx ';
ReactDOM.render(
ltapp/ gt;, document. getelementbyid(' root ');
Hasta ahora, A La aplicación de enrutamiento se ha creado con reaccionar-router. Iniciemos esta aplicación
npm start
Acceso: utilizando el navegador, verá la siguiente interfaz. > Npm inicio.