[英]Webpack-dev-server and isomorphic react-node application
我已經設法通過使用webpack配置中的插件部分,將webpack開發服務器與節點服務器(快速)一起正確使用。
一切正常,但現在我正嘗試同構並在快速應用程序內部使用客戶端組件。
到目前為止,我所遇到的唯一問題是,如果沒有webpack解析服務器端代碼,我就會遇到需要組件但無法解決路徑的情況
IE
內部組件
'use strict';
import React from 'react';
import { RouteHandler, Link } from 'react-router';
import Header from 'components/header/main'; // <-- This line causes the error because webpack is not working when parsing this JSX server-side
export default React.createClass({
displayName: 'App',
render() {
return ( // ... More code
我應該以其他方式配置webpack還是必須將所有導入更改為有效的服務器端?
代碼庫在這里,以防您想要查看實際狀態https://github.com/vshjxyz/es6-react-flux-node-quickstart
為了能夠以諸如require('components/Header.js');
類的方式require('components/Header.js');
並避免使用較長的相對路徑,例如require('../../../../../../Header.js');
您可以在任何require()調用之前將此代碼添加到您的節點應用程序:
process.env.NODE_PATH = __dirname;
require('module').Module._initPaths();
但是,由於這依賴於私有的Node.js核心方法,因此這也是一種黑客,可能會停止在該節點的上一個或下一個版本上運行。
有關此問題的其他可能解決方案,請參見https://gist.github.com/branneman/8048520
我看到2個選項:
import Header from './components/header/main'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.