【发布时间】:2015-10-07 05:15:15
【问题描述】:
我正在尝试加载多个 .jsx 文件以编译为一个。
现在,我们在同一个目录下有 app.jsx 文件和 home.jsx 文件。 我想使用 webpack 编译它们并将两个输出合并到一个文件中。 它现在确实编译成一个,但是没有首先导入来自 home.jsx 的编译代码,所以路由不知道指向哪里。
我已经附加了 app.jsx、home.jsx 和 webpac.config.js。 请帮忙:)
App.jsx
import React from "react";
var Router = require('react-router');
var Route = Router.Route;
var RouteHandler = Router.RouteHandler;
var Home = require('./home.jsx');
define(["./home.jsx"], function (){
})
App = React.createClass({
render () {
return (
<div>
<h1>Hire Monster App</h1>
<RouteHandler/>
</div>
)
}
});
var routes = (
<Route handler={App}>
<Route path="/" handler={mainPage}/>
<Route path="login" handler={Home.jobs}/>
<Route path="jobs" handler={Home.jobs}/>
</Route>
);
Router.run(routes, Router.HashLocation, (Root) => {
React.render(<Root/>, document.body);
});
home.jsx
import React from "react";
var mainPage;
module.exports = React.createClass({
render: function () {
return (
<h1>Hello world!</h1>
);
}
});
/*
module.export ={}
var mainPage = React.createClass({
render: function () {
return <h1>Welcome!</h1>;
}
});
var login = React.createClass({
render: function () {
return <h1>Login</h1>;
}
});
var jobs = React.createClass({
render: function () {
return <h1>Jobs</h1>;
}
});
*/
webpack.config
module.exports = {
entry: {
bundle1:["./src/app.jsx","./src/home.jsx"]
},
output: {
path: "../public/javascripts",
filename: "hire.js"
},
module: {
loaders: [
{ test: /\.jsx$/, exclude: /node_modules/, loader: "babel-loader" }
]
}
}
【问题讨论】:
标签: reactjs webpack react-router