请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于vue-server-renderer/server-plugin

https://img1.sycdn.imooc.com//szimg/6079960809e127c008320599.jpg

可能是webpack升级到5.0了报的这个错, 一个是反馈没有指定入口文件,另一个是 没有指定libraryTarget为commonjs2, 不知道该怎么解决,后面的工作无法继续下午了! 这两个值都有设置的不知道为什么会报这个错!

正在回答

3回答

你好,你需要手动去更改文件\node_modules\vue-server-renderer\server-plugin.js

标粗的那几行是新加的,减号的那几行注释掉


-  if (compiler.options.output && compiler.options.output.libraryTarget !== 'commonjs2') {

+  if (compiler.options.output && compiler.options.output.library.type !== 'commonjs2') {


- var entryAssets = entryInfo.assets.filter(isJS);

+ var entryAssets = entryInfo.assets.filter(file => isJS(file.name));if (entryAssets.length > 1) {
 throw new Error(
   "Server-side bundle should have one single entry file. " +
   "Avoid using CommonsChunkPlugin in the server config."
 )
}

var entry = entryAssets[0];

- if (!entry || typeof entry !== 'string') {

+ if (!entry || typeof entry.name !== 'string') {
 throw new Error(
   ("Entry \"" + entryName + "\" not found. Did you specify the correct entry option?")
 )
}

var bundle = {

+ entry: entry.name,

 files: {},
 maps: {}
};

0 回复 有任何疑惑可以回复我~
  • 提问者 慕雪4779524 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2021-04-22 21:31:39
Jokcy 2021-04-20 21:57:30

应该是这个server plugin不兼容webpack5,你试试安装webpack4

0 回复 有任何疑惑可以回复我~
Junble 2021-04-20 13:21:49

后期可能还会遇到报错:TypeError: Cannot read property 'file' of undefined
需要更改文件/node_modules/vue-server-renderer/build.dev.js


-   var needed = [initial[0]].concat(async, initial.slice(1));

+   var needed = (initial.length ? [initial[0]] : []).concat(async, initial.slice(1));

0 回复 有任何疑惑可以回复我~
  • Junble #1
    需要注意的是如果run server的时候报这个错,需要你去手动修改相应的编译后的那个文件,或者指定使用编译前的这个文件
    回复 有任何疑惑可以回复我~ 2021-04-20 13:24:00
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信