【发布时间】:2015-09-23 18:57:07
【问题描述】:
所以我正在使用https://github.com/mhart/react-server-example/blob/master/server.js 来确定 React 中的服务器端渲染。它利用了 browserify。
该示例是一个平面文件夹结构,因为它只是一个示例。所以下面是我的一些让我困惑的变化。
/server/controllers/bundles.jsx 有这个
browserify()
.add('./app/scripts/checkout.jsx')
.transform(literalify.configure({
'react': 'window.React',
'react-dom': 'window.ReactDOM',
}))
.bundle()
.pipe(res)
此时我收集到,即使我嵌套在一个文件夹中,browserify 也在根目录下工作。同时在checkout.jsx里面我有这个:
require('./app/scripts/components/checkout/layout');
当我启动我的服务器时,它找不到该文件。我也尝试过./components/checkout/layout,因为它与checkout.jsx 相关。
无论我尝试什么,我的服务器都说找不到布局模块。
更新我为__dirname 添加了console.log 并看到/app/scripts 所以它让我认为require('components/checkout/layout') 应该点击/app/scripts/components/checkout/layout 但它仍然没有找到。我还应该注意,该文件确实是 module.exports = Layout,并且在服务器上使用时需要在另一个文件中很好。
【问题讨论】:
-
很难说,您能以目录树的形式提供更多信息吗?也许满了
checkout.jsx?您是否尝试要求绝对路径/app/scripts/components/checkout/layout?是 *.js 文件吗?
标签: javascript node.js express browserify