鉴于以下 Webpack 2 配置,我想使用ES6编写一个快速应用程序。我的.babelrc
只有es2015
预设:
const path = require('path');
module.exports = {
target: 'node',
entry: path.resolve(__dirname, 'src', 'server.js'),
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'server.bundle.js',
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
use: 'babel-loader',
},
],
},
};
运行webpack并启动服务器工作正常,但是当通过浏览器访问URL时,我收到以下错误:
Error: Cannot find module "."
at webpackMissingModule (/Users/Me/project/dist/server.bundle.js:18208:74)
我不知道是否由.
电话中的require('./some/other/file')
引起(并非所有文件都是ES6,因此这些文件使用require()
代替import
);或者我可能缺少一些配置。
而且,考虑到堆栈跟踪,我无法将其真正映射到原始源文件。
提前致谢
更新1
我只是意识到我正在尝试使用webpack来转换ES6代码,因为我试图复制另一个构建任务(mern.io中的那个),但我可以做同样的事情巴贝尔。也许没有理由在服务器端使用webpack。
答案 0 :(得分:1)
您需要安装并添加webpack.config.js ExternalsPlugin:
2014-02-12T14:50:25Z
它帮助了我,我也希望你,因为我花了很多时间来解决这个问题)
答案 1 :(得分:0)
也许原因是您在webpack配置中使用目标:"节点" 。这意味着它为nodejs环境创建了包。您可以在将其更改为目标:" web" 进行客户端迁移后进行测试吗?