运行Angular项目时,为什么会发生“ TypeError:参数fn必须是一个函数”错误?

时间:2019-07-02 19:44:06

标签: angular

我刚刚开始学习角度。我正在创建一个空的Angular项目。当我尝试运行项目时,出现如下错误。这可能是原因。

ng new intro
ng serve --open
  

参数fn必须为函数TypeError:参数fn必须为a   功能       在Function.wrapfunction [作为函数](C:\ kurs \ angularProjects \ intro \ node_modules \ depd \ index.js:399:11)       在populateConstructorExports(C:\ kurs \ angularProjects \ intro \ node_modules \ http-errors \ index.js:264:45)       在对象。 (C:\ kurs \ angularProjects \ intro \ node_modules \ http-errors \ index.js:30:1)       在Module._compile(内部/模块/cjs/loader.js:776:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:787:10)       在Module.load(internal / modules / cjs / loader.js:643:32)       在Function.Module._load(内部/模块/cjs/loader.js:556:12)       在Module.require(内部/模块/cjs/loader.js:683:19)       在要求时(内部/模块/cjs/helpers.js:16:16)       在对象。 (C:\ kurs \ angularProjects \ intro \ node_modules \ send \ index.js:15:19)       在Module._compile(内部/模块/cjs/loader.js:776:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:787:10)       在Module.load(internal / modules / cjs / loader.js:643:32)       在Function.Module._load(内部/模块/cjs/loader.js:556:12)       在Module.require(内部/模块/cjs/loader.js:683:19)       在要求时(internal / modules / cjs / helpers.js:16:16)

3 个答案:

答案 0 :(得分:2)

问题为我解决了。当前版本的node.js 12.6.0中发生了此错误。我更改了node.js的版本。我安装了LTS 10.16.0版,没有发生任何错误

答案 1 :(得分:2)

在带有较新版本的node.js的土耳其语工作站中,会发生此问题。

您应该更改系统语言或降级您的node.js版本。

请参阅:https://github.com/facebook/create-react-app/issues/7315

在我的Windows 10 Home Premium单一语言许可证工作站中,使用lp.cab文件更改语言不能解决问题。

我格式化并安装了干净的Windows Home Premium英语。

问题消失了!

答案 2 :(得分:0)

打开文件node_modules \ depd \ index.js并更改下面的功能。

function wrapfunction (fn, message) {
if (fn == undefined) return; // Add this line to solve the problem
if (typeof fn !== 'function') {
throw new TypeError('argument fn must be a function ' + fn)
}