我使用grunt创建了一个静态单页网站.我现在正尝试使用heroku-buildpack-nodejs-grunt将它部署到heroku,用于node grunt.
下面是我的根目录的图片:

这是我的Gruntfile package.json:
Procfile:
web: node index.html
Run Code Online (Sandbox Code Playgroud)
当我运行$ git push heroku master它到达Gruntfile并失败:
-----> Found Gruntfile, running grunt heroku:production task
>> Local Npm module "grunt-contrib-uglify" not found. Is it installed?
Run Code Online (Sandbox Code Playgroud)
上述错误继续列出未找到的所有本地NPM模块.如果我列出所有loadNpmTasks而不是使用"load-grunt-tasks",我会得到完全相同的错误.
当$ heroku logs我得到:
Starting process with command `node web.js`
Error: Cannot find module '/app/web.js'
Run Code Online (Sandbox Code Playgroud)
谁能看到我出错的地方?
我有一个解决方案,最初包含2个项目:
并且这个项目都有自己的依赖关系映射到自己的packages.json文件中,这些文件放在subdir中.
所以问题是如何npm install从heroku上的子目录运行?
我尝试在main npm文件中添加这样的东西
"scripts": {
"postinstall": "cd my_subdir; npm install"
}
Run Code Online (Sandbox Code Playgroud)
但它显示不起作用 can't cd to my_subdir
所以我在mongoose中更新用户子文档的属性,但它没有保存到我的数据库中.
这是我的功能:
@User.findOne({'email': email}, (err, user) ->
if err?
callback(err)
else if user?
for account in user['accounts']
if account['account_uuid'] is account_uuid
account.state = "Verified"
user.save((err, updated_user, numberTouched) ->
if err?
console.log err
return callback(err)
else
console.log 'Successfully verified account'
console.log updated_user
return callback(null, 'Successfully verified account')
)
return
callback(new Error('No account for account_uuid'))
)
Run Code Online (Sandbox Code Playgroud)
真正令人沮丧的是,updated_user返回account.state属性为"已验证",numberTouched变量返回为1,表示1文档已受到保存的影响.但是当我在我的数据库中检查用户文档时,它仍然是默认值"待定".
有什么想法吗?
PS我正在使用MongoLab的开发数据库.但我认为问题不在他们身上,因为我可以更新其他属性.
我们如何从Meteor打开Websockets连接?
我们可以这样做:
ws = new WebSocket('ws://localhost/path');
ws.on('open', function() {
ws.send('something');
});
ws.on('message', function(message) {
console.log('received: %s', message);
});
Run Code Online (Sandbox Code Playgroud)
错误:ReferenceError:未定义WebSocket
使用socket.io npm包
var io = Meteor.require('socket.io')
var socket = io.connect('http://localhost');
Run Code Online (Sandbox Code Playgroud)
错误:TypeError:对象#没有方法'connect'
使用ws npm包
var WebSocket = Meteor.require('ws');
var ws = new WebSocket('ws://localhost');
Run Code Online (Sandbox Code Playgroud)
错误:错误:找不到模块'../build/default/bufferutil'
我有一些用普通旧快递写的私人api.是时候把它拿出来并提供一些api文档.
我不想(至少还有)重写我的快速应用程序以将api文档集成到代码中.主要是因为我不确定使用什么框架或规范来记录我的api我真的不想锁定一个特定的东西.
我想在我的api下提供doc作为子资源的一部分(即我不想运行不同的服务器或子域).也许'/ api/docs'.一个加号也可以是我可以嵌入我的应用程序中的UI,可以解析文档,至少在html中提供一个很好的文档演示(api交互是一个加号).
像swagger-node这样的东西很酷,但需要我重新编写所有快速代码以集成swagger.在那一点上,我有一笔巨大的投资,并且与swagger紧密相连.
有没有办法服用swagger或iodocs或者其他东西以对现有路线微创的方式记录我的api?
编辑:
我可以用手写的文档提供Swagger规范.我看到的问题是你必须basePath在swagger doc中定义.这实际上不允许我在不同的域下轻松部署.
是否有逐步的过程来将本机项目从使用yarn作为程序包管理器更改为使用npm?经过几天的搜索,我所能找到的只是从npm到yarn的说明,以及一个名为deyarn的软件包,它似乎对我而言并不完全有效。有人对此有很好的资源吗?
我看到 Stack Overflow 上还有关于 Yarn 警告的其他问题,但我找不到它的含义的答案 - 我的意思是,它的真正含义是什么。也就是说,这对我和我的应用程序意味着什么,我该如何纠正它?
我正在尝试使用 Yarn添加调试yarn add debug -D,即我收到警告
warning Pattern ["debug@^4.1.1"] is trying to unpack in the same destination "/Users/xyz/Library/Caches/Yarn/v4/npm-debug-4.1.1-3b72260255109c6b589cee050f1d516139664791/node_modules/debug" as pattern ["debug@^4.1.0","debug@^4.0.1"]. This could result in non-deterministic behavior, skipping.
Run Code Online (Sandbox Code Playgroud)
我yarn remove debug随后尝试了yarn add debug -D,但没有成功。
非常感谢任何见解和建议!
我正在使用Node.js在c9.io上运行服务器并尝试连接到Mysql我想我得到了这个错误:
错误:getaddrinfo ENOTFOUND
因为与db的连接是错误的.
我正在使用这个:
var connection = mysql.createConnection({
host: "REMOTE_ADDR",
user: "MYUSERNAME", // this is replaced by my username
database: "c9",
port: 3306
});
Run Code Online (Sandbox Code Playgroud)
知道什么是错的吗?
谢谢!
我分叉了DefinitelyTyped并为一个类型定义做了一个变通方法.此解决方法位于此fork中的分支上.
此更改不应合并回来,因为它只是一个临时的解决方法.
如何通过npm或yarn安装此自定义类型定义?
npm run升级到Mix v4.x之后,对的任何调用都将导致不确定混音。我每次运行都会看到这样的错误:
> npm run development
> @ development /project
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
/project/node_modules/webpack-cli/bin/cli.js:235
throw err;
^
TypeError: Cannot read property 'js' of undefined
at Object.<anonymous> (/project/webpack.mix.js:15:5)
at Module._compile (/project/node_modules/v8-compile-cache/v8-compile-cache.js:178:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (/project/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
at Object.<anonymous> (/project/node_modules/laravel-mix/setup/webpack.config.js:12:1)
at Module._compile (/project/node_modules/v8-compile-cache/v8-compile-cache.js:178:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Module.require (internal/modules/cjs/loader.js:657:17)
at require (/project/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
at WEBPACK_OPTIONS …Run Code Online (Sandbox Code Playgroud) node.js ×7
npm ×6
yarnpkg ×4
heroku ×2
json ×2
api-doc ×1
coffeescript ×1
debugging ×1
express ×1
gruntjs ×1
iodocs ×1
javascript ×1
laravel ×1
laravel-5.5 ×1
laravel-mix ×1
meteor ×1
mongodb ×1
mongoose ×1
react-native ×1
swagger ×1
typescript ×1
websocket ×1