高效全平台全栈开发 配套源码勘误

开卷有益 qmt 96℃

这本书里面的示例代码有问题。

运行 npm run dev的时候,build完之后的server.js 出问题了。

报错信息这样的:

    _api_users__WEBPACK_IMPORTED_MODULE_3___default()(app);
                                                     ^

TypeError: _api_users__WEBPACK_IMPORTED_MODULE_3___default(...) is not a function
    at D:\高效全平台全栈开发\源代码\第8.2节 其他组件\BBS\build\server.js:31180:54

原因在于这个示例源码的前半部分使用CommonJS导入的(require),在react部分之后,就变成了ES6的import export方式导出模块的。

问题就出在每个users.js 里的最后一行

module.exports.apis = apis;

要把它改成

export default apis

就可以正常运行。

npm run dev

变量声明异常:

const handlePost = async () => {
    console.log('handlePost')
    try{
    const { username, token } = JSON.parse(await localStorage.getItem(DOMAIN));
    console.log(username, token)
    }catch(err){
      alert("Please login first!");
      closeModal();
    }

    const form = document.forms.postForm;
    const title = form.title.value;
    const content = form.content.value;
    const body = {
      username, token, title, content,
    };
    post(body);
  };

其中这一行,
const { username, token } = JSON.parse(await localStorage.getItem(DOMAIN));

username和token都在try里面,而且用const定义的局部变量,在try外层访问不了,
所以需要改成var,或者写在try外面的声明

如果需要本书源码的朋友,可以关注公众号后,后台回复:

高效全平台全栈开发源码

就可以获取了。

转载请注明:QMT|Ptrade量化交易 » 高效全平台全栈开发 配套源码勘误

喜欢 (0)