在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/網(wǎng)絡(luò)安全  HTML/ koa-views index.html 訪問(wèn)404

koa-views index.html 訪問(wèn)404

我用koa做react項(xiàng)目的服務(wù)器端,碰到一個(gè)很奇怪的問(wèn)題

import 'babel-polyfill'
import serve from 'koa-static'
import path from 'path'
import views from 'koa-views'
import app from './app'
import router from './routes'

app.use(views(path.resolve(__dirname,'../build/views/prod'), {map: {html: 'ejs'}}))
app.use(serve(path.resolve(__dirname, '../build/client')))

這個(gè)是編譯環(huán)境的代碼,當(dāng)這樣的時(shí)候訪問(wèn)是404

clipboard.png

我的目錄結(jié)構(gòu)是這樣的

clipboard.png

而如果我把上面的代碼修改一下

app.use(views(path.resolve(__dirname,'../build/client'), {map: {html: 'ejs'}}))
app.use(serve(path.resolve(__dirname, '../build/client')))

index.html文件打包到client文件夾中,再訪問(wèn)的時(shí)候,可以訪問(wèn)到文件,但是出現(xiàn)js錯(cuò)誤

clipboard.png

請(qǐng)大神幫忙看看是怎么回事,萬(wàn)分感謝!~~

回答
編輯回答
傲寒

我終于解決了,因?yàn)槲矣玫膚ebpack@3 進(jìn)行打包的,以前demo是用webpack@1做的,我在react-router加載組件的時(shí)候是按需加載的,也就是require.ensure
編譯后兩個(gè)版本的不一樣

//webpack@1打包結(jié)果
var home = function home(nextState, callback) {
        __webpack_require__.e/* nsure */(1, function (require) {
            callback(null, __webpack_require__(98));
        });
    };

//webpack@3打包結(jié)果
var Home = function Home(nextState, callback) {
    new Promise(function(resolve) { resolve(); }).then((function (require) {
        callback(null, __webpack_require__(157));
    }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
};

我遂取掉了require.ensure,再次build,執(zhí)行,程序正常了(心碎了,這個(gè)問(wèn)題折騰了三天時(shí)間,后續(xù)還得解決webpack@3里面按需加載的問(wèn)題。。。。)

2017年8月4日 07:53