Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/473.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么当我启用布局时,sails.js会引发这么多浏览器控制台错误?_Javascript_Node.js_Gruntjs_Sails.js_Waterline - Fatal编程技术网

Javascript 为什么当我启用布局时,sails.js会引发这么多浏览器控制台错误?

Javascript 为什么当我启用布局时,sails.js会引发这么多浏览器控制台错误?,javascript,node.js,gruntjs,sails.js,waterline,Javascript,Node.js,Gruntjs,Sails.js,Waterline,请慢慢说清楚,用简单的词——我以前没有使用node.js、sails.js、ejs或grunt的经验。我有PHP的背景 我们正在开发一个基于sails.js和ejs的网站。当我们在config/views.js中启用布局时,浏览器控制台中会出现很多错误。第一个在Firefox中看起来像这样: ReferenceError: module is not defined module.exports = function (grunt) { …就像在Safari中这样: ReferenceErro

请慢慢说清楚,用简单的词——我以前没有使用node.js、sails.js、ejs或grunt的经验。我有PHP的背景

我们正在开发一个基于sails.js和ejs的网站。当我们在config/views.js中启用布局时,浏览器控制台中会出现很多错误。第一个在Firefox中看起来像这样:

ReferenceError: module is not defined
module.exports = function (grunt) {
…就像在Safari中这样:

ReferenceError: Can't find variable: module
global codeGruntfile.js:14
然而,grunt似乎正在发挥作用,至少在一定程度上是这样的:编译的数量更少,布局也在发挥作用。如果我们禁用布局(在config/views.js中设置“layout:false”并重新提升sails),错误会消失,但会减少,布局也不起作用

我可以解决没有包含布局的问题,但如果可能的话,我真的希望使用更少的布局。无论如何,我只想按照预期的方式使用这个框架

抱歉,这也是我在这里的第一个问题(因为潜伏已经足够多年了),我可能还没有发布足够的技术信息。下面是启用Sails时Safari控制台窗口向我吐出的所有信息(尽管我预计页面中的大多数错误都来自一个配置错误)。如果我能提供更多信息,请告诉我

谢谢,嗯

[Error] ReferenceError: Can't find variable: module (Gruntfile.js, line 14)
[Error] ReferenceError: Can't find variable: angular
    (anonymous function) (app.js, line 21)
[Error] TypeError: 'undefined' is not an object (evaluating '$.ajaxSetup') (jquery.postmessage-transport.js, line 50)
[Error] ReferenceError: Can't find variable: angular (jquery.fileupload-angular.js, line 33)
[Error] TypeError: 'undefined' is not an object (evaluating '$.blueimp') (jquery.fileupload-audio.js, line 35)
[Error] TypeError: 'undefined' is not an object (evaluating '$.blueimp')
    (anonymous function) (jquery.fileupload-image.js, line 39)
    (anonymous function) (jquery.fileupload-image.js, line 30)
[Error] TypeError: 'undefined' is not an object (evaluating '$.widget') (jquery.fileupload-jquery-ui.js, line 27)
[Error] TypeError: 'undefined' is not an object (evaluating '$.blueimp') (jquery.fileupload-process.js, line 32)
[Error] TypeError: 'undefined' is not an object (evaluating '$.blueimp') (jquery.fileupload-ui.js, line 37)
[Error] TypeError: 'undefined' is not an object (evaluating '$.blueimp') (jquery.fileupload-validate.js, line 32)
[Error] TypeError: 'undefined' is not an object (evaluating '$.blueimp') (jquery.fileupload-video.js, line 35)
[Error] TypeError: 'undefined' is not an object (evaluating '$.support') (jquery.fileupload.js, line 32)
[Error] TypeError: 'undefined' is not an object (evaluating '$.ajaxTransport')
    (anonymous function) (jquery.iframe-transport.js, line 39)
    (anonymous function) (jquery.iframe-transport.js, line 21)
[Error] ReferenceError: Can't find variable: $ (main.js, line 14)
[Error] ReferenceError: Can't find variable: jQuery (jquery.ui.widget.js, line 18)
[Error] SyntaxError: Invalid character: '#' (server.js, line 1)
[Error] ReferenceError: Can't find variable: $ (test.js, line 14)
[Error] ReferenceError: Can't find variable: jwplayer (jwplayer.html5.js, line 1)
[Error] Failed to load resource: the server responded with a status of 404 (Not Found) (jquery-1.10.2.min.map, line 0)
[Log] 
    |>    
  \___/  
[Log]  `io.socket` connected successfully.
 (for help, see: http://sailsjs.org/#!documentation/reference/BrowserSDK/BrowserSDK.html)
编辑:按照注释中的建议运行“npm缓存清除”和“npm安装”会导致:

npm WARN package.json crypto@0.0.3 crypto is also the name of a node core module.
npm WARN unmet dependency /home/ubuntu/git/(obscured)/frontend/node_modules/sails-disk/node_modules/waterline-criteria requires lodash@'~2.4.1' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
npm WARN unmet dependency /home/ubuntu/git/(obscured)/frontend/node_modules/sails-disk/node_modules/waterline-cursor requires lodash@'~2.4.1' but will load
npm WARN unmet dependency undefined,
npm WARN unmet dependency which is version undefined
附加编辑2014/09/15:

@KevinKao-是的,我们在Ubuntu上。我运行了aptitude,它警告了以下依赖性问题,并给了我一个选项来降级nodejs(从0.10.31到0.10.25),但没有选项来降级npm

The following packages have unmet dependencies:
nodejs : Conflicts: npm but 1.3.10~dfsg-1 is to be installed.

The following actions will resolve these dependencies:

Install the following packages:

1)     nodejs-dev [0.10.25~dfsg2-2ubuntu1 (trusty)]                             

Downgrade the following packages:  

2)     nodejs [0.10.31-1chl1~trusty1 (now, trusty) -> 0.10.25~dfsg2-2ubuntu1 (tr //oops truncated it
我再次运行“智能安装npm”只是为了好玩,没有收到任何警告,但当我运行“npm安装”时,我收到了以下警告:

npm WARN deprecated grunt-lib-contrib@0.7.1: DEPRECATED. See readme: https://github.com/gruntjs/grunt-lib-contrib
npm WARN deprecated guid@0.0.12: Please use node-uuid instead. It is much better.

不管怎样,我还是继续完成了您的过程,但遇到了与开始时相同的浏览器控制台错误。

我的同事已将一整文件夹的内容移动到assets/js。我刚把它移出资产,错误就消失了。Layout.ejs包含此文件夹中的所有内容;因此出现了问题。

尝试运行应用程序目录中的
npm cache clear
npm install
以再次安装所有依赖项,并查看错误是否仍然存在。谢谢Kevin,我尝试了这一点,并收到了一些有关缺少依赖项的消息。浏览器控制台仍然会显示相同的错误消息。您使用的是Node.js、npm和Sails.js的哪个版本(试图重现问题)?我使用Node.js(0.10.25)、npm(1.3.10)和Sails.js(0.10.5)进行布局,没有任何问题。您可以通过运行
nodejs-v
sails-v
npm-v
来获得这些版本。感谢您坚持使用此版本!我正在使用Node.jsv.0.10.30、sails 0.10.4和npm1.4.21。我想我们应该尝试升级sails了?我在使用npm1.4.x运行时,实际上sails/Node有一个问题。试着运行
sudo-aptitude-install-npm
,看看它是否给你一个降级选项(如果你没有aptitude,你可以通过
sudo-apt-get-install-aptitude
获得它)。我假设你在运行Ubuntu。降级npm后,请执行
sudo apt get install nodejs
npm install-g sails
-然后转到应用程序文件夹,清除
node\u modules
文件夹,然后运行
npm install
。希望这能解决任何依赖性问题。