我正在用webpack,typescript和ejs编写一个快速的Web应用程序.当遇到一个应该提供.ejs文件的路由时,我收到以下错误:
Error: Cannot find module "." at webpackMissingModule (/Users/max/Development/test/express-webpack/dist/server.js:20669:74) at new View (/Users/max/Development/test/express-webpack/dist/server.js:20669:152) at EventEmitter.render (/Users/max/Development/test/express-webpack/dist/server.js:18776:12) at ServerResponse.render (/Users/max/Development/test/express-webpack/dist/server.js:20479:7) at /Users/max/Development/test/express-webpack/dist/server.js:25508:7 at Layer.handle [as handle_request] (/Users/max/Development/test/express-webpack/dist/server.js:4524:5) at next (/Users/max/Development/test/express-webpack/dist/server.js:4743:13) at Route.dispatch (/Users/max/Development/test/express-webpack/dist/server.js:4724:3) at Layer.handle [as handle_request] (/Users/max/Development/test/express-webpack/dist/server.js:4524:5) at /Users/max/Development/test/express-webpack/dist/server.js:4054:22
这是代码:
的package.json:
{ "name": "express-webpack","version": "1.0.0","description": "","main": "index.js","scripts": { "test": "echo \"Error: no test specified\" && exit 1" },"author": "","license": "ISC","dependencies": { "awesome-typescript-loader": "^3.0.0-beta.18","copy-webpack-plugin": "^4.0.1","debug": "^2.6.0","ejs": "^2.5.5","express": "^4.14.0","json-loader": "^0.5.4","source-map-loader": "^0.1.6","webpack": "^2.2.0-rc.3" } }
webpack.config.js
var CopyWebpackPlugin = require('copy-webpack-plugin'); module.exports = { entry: __dirname + "/src/index.js",target: "node",output: { filename: "server.js",path: __dirname + "/dist" },// Enable sourcemaps for debugging webpack's output. devtool: "source-map",resolve: { // Add '.ts' and '.tsx' as resolvable extensions. extensions: [".webpack.js",".web.js",".ts",".tsx",".js"] },module: { rules: [ // All files with a '.ts' or '.tsx' extension will be handled by 'awesome-typescript-loader'. { test: /\.tsx?$/,loader: "awesome-typescript-loader" },{ test: /\.json$/,loader: 'json-loader' },// All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. { enforce: "pre",test: /\.js$/,loader: "source-map-loader" } ] },plugins: [ new CopyWebpackPlugin([ { from: 'src/views',to: 'views' } ]) ],node: { fs: "empty" } };
SRC / index.js
var express = require('express'); var app = express(); app.set("view engine","ejs"); app.set("views","./views"); app.get('/',function(req,res,next){ res.render('index'); // <-- error originates here AFAIK }); app.listen(8000);
意见/ index.ejs
hello world
复制步骤:
>运行webpack来构建项目
>使用node dist / server.js启动服务器
>访问http:// localhost:8000
>期望看到index.ejs的内容,而不是高于堆栈跟踪
知道出了什么问题吗?