错误代码:800A1391源:Microsoft JScript运行时错误正在运行Grunt – 模块未定义

这里的新Grunt用户今天正在使用大量新工具(npm nodejs)。

我已经安装了Grunt,并能够使用init任务创build一个grunt.js文件,如下所示: http ://net.tutsplus.com/tutorials/javascript-ajax/meeting-grunt-the-build -tool-for-javascript /和这里: https : //github.com/cowboy/grunt/blob/master/docs/getting_started.md 。 但是,每当我运行“咕噜”命令,我得到一个错误:

 Windows脚本主机
脚本:c:\ users \ [] \ Documents \ code \ grunt \ grunt.js
线路:2
 Char:1
错误:“模块”未定义
代码:800A1391
来源:Microsoft JScript运行时错误

正如常见问题所解释的那样,您需要在Windows上键入grunt.cmd ,因为操作系统试图启动grunt.js

或者你可以在全局安装grunt-cli。 如果该软件包已经在本地安装到您的项目中,该软件包将运行任何版本的Grunt。

看起来,在最新版本的grunt模块中,你将不得不做下面的工作在windows下工作:

删除任何全球安装的咕噜声

 npm uninstall -g grunt 

在全球安装grunt-cli

 npm install -g grunt-cli 

将grunt本地安装到您的项目中

 npm install grunt 

在全球安装grunt(v0.4.x)似乎不再创build必要的grunt.cmd。 似乎现在build议在本地安装grunt以便能够使用特定于版本的Gruntfiles

如果您得到“Microsoft JScript运行时错误”,意味着node.js甚至没有被调用; 而是Windows脚本宿主试图运行您的代码。 这可能是文件types关联的问题; IIRC Windows默认尝试使用WSH执行“.js”文件。 你可能不得不为你的脚本创build一个快捷方式,指定一个命令行(可能类似“node%1”)和一个起始目录,以确保它被正确执行。

如果您能够确切地告诉我们您是如何尝试调用您的代码,这将会有所帮助。

正如Florian F所build议的,运行grunt.cmd是可行的。 这是因为Windows正在寻找你的grunt命令。

inputgrunt -h Windows将继续查找以下文件:

  1. ./grunt.cmd
  2. ./grunt.*(在这种情况下,grunt.js被发现,这就是为什么你看到“模块是未定义的”)
  3. %APPDATA%/ NPM / grunt.cmd

使用“grunt.cmd”的替代方法是使用grunter ,它只是将命令重命名为grunter …然后你不再有这个问题。

我有一个类似的问题,问题是文件关联,我会build议:

  • 右键单击一个.js文件并select打开。
  • 那么你selectnodejs / node.exe(在“程序文件”文件夹中的某处
  • 然后在打勾的地方写上“总是打开.js文件”(释义)

这应该够了吧。

为了回答这个问题,首先我们需要明白这个错误是由于Windows Script Host正在执行的。

现在,使用以下语法从cmd promt运行代码:

 >node <application_name>.js 

这将允许Node.js应用程序通过V8 JavaScript引擎 (Google's)打开。

PS:请回复,如果这有助于解决您的问题,否则张贴您遇到的问题后, 尝试这一点。

已解决

所以,这个问题的发生是因为windows默认关联的< * .js >文件与>>“基于Microsoft Windows的脚本宿主”。

咕噜需要默认打开(grunt.cmd)。

很容易解决,通过更改默认的应用程序(打开..)


指南

  1. 转到任何带有“js”扩展名的JavaScript文件。 (任何文件)

  2. 右键单击(鼠标)>属性>“打开:”更改…(button)

  3. select记事本(或任何JavaScript的IDE)。

问题解决了 ! :) 祝你好运