我第一次遇到这样的错误,所以如果我在这里没有注意到任何重要因素,请原谅我。 我在运行代码时遇到的完整错误是:
(node:10812) [DEP0062] DeprecationWarning: `node --inspect --debug-brk` is deprecated. Please use `node --inspect-brk` instead.
如图所示:
它还突出显示了这行代码:
return new Script(code, options);
如图所示:
这是我正在运行的 node.js 版本,如 nvm 所示。
C:\Users\jonat>nvm install latest
Version 8.4.0 is already installed.
我昨天运行了 VS 安装程序,所以它是最新的。
这些是我正在使用的模块:
const express = require("express"),
mongoose = require("mongoose"),
passport = require("passport"),
bodyParser = require("body-parser"),
LocalStrategy = require("passport-local"),
passportLocalMongoose = require("passport-local-mongoose"),
math = require("mathjs");
它们是通过 npm 安装的,我最近运行了 .npm update,它们显示在继承文件目录中:
这里更改了各种设置并设置了将在以后使用的变量:
const app = express();
const uri = 'mongodb://localhost/MathsWebsite',
options = { useMongoClient: true };
mongoose.Promise = global.Promise;
mongoose.set('debug', true);
app.set('view engine','ejs');
app.use(bodyParser.urlencoded({extended:true}));
app.use(require("express-session")({
secret:"fanatical beaver",
resave: false,
saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());
passport.use(new LocalStrategy(user.authenticate()));
passport.serializeUser(user.serializeUser());
passport.deserializeUser(user.deserializeUser());
值得注意的是,我可以使用以下方式运行代码:
C:\Users\jonat\Documents\GitHub\MathsSite\MathsWebsite>node server.js --no-deprecation
然后会导致链接错误 (https://hastebin.com/lajotaqifo.rb),如图所示:
seed.js 函数位于代码底部,如下所示:
mongoose.connect(uri, options)
.then(() => seedDB)
.then(() => app.listen(process.env.PORT, process.env.IP, function () {
console.log("Server started");
}))
.catch(error => console.log("error"));
如图所示导入:
const seedDB = require("./seed");
如图所示导出:
async function seedDB() {...}
module.exports = seedDB;
并且位于如图所示的文件目录中:
我认为这个错误与已弃用的问题无关,尽管我认为最好提一下。虽然我相信我可以绕过这个问题,但我认为从长远来看这是 Not Acceptable ,但如果有人能提供解决这个问题的方法,甚至只是指出正确的方向,我将不胜感激。
(为了以防万一,这里有来自 hastebin 中 server.js ( https://hastebin.com/ibuweyaxes.js ) 和 seed.js ( https://hastebin.com/ibuweyaxes.js ) 的完整代码的链接)
另外要注意,由于我对此事缺乏了解,我很可能包含了无用的东西或没有包含有用的东西。
最佳答案
问题出在 Seed.js 文件的第 343 行,正如错误消息正确指出的那样,您不能在异步函数之外使用 await。虽然 SeedDB 可能是一个异步函数,但 await 代码实际上位于 then catch 语句中,因此必须将 then 声明为异步函数,以免出错。
从您的 pastebin 中截取的原始代码如下所示:
}).then(() => {
所以只需在 then 中的箭头函数之前添加异步,就像我在下面所做的那样。
}).then(async () => {
这是完整的 Promise:
Promise((resolve, reject) => {
examboardData.forEach(function (examSeed) {
examBoard.create(examSeed, function (err, exam) {
console.log("Creating new examboard");
if (err) {
console.log("Could not create new examboard\n" + err);
}
else {
console.log("Created examboard");
exams.push(exam);
}
});
});
questionData.forEach(function (questionSeed) {
question.create(questionSeed, function (err, question) {
if (err) {
console.log("Could not create new question\n" + err);
}
else {
console.log("Created question");
questions.push(question);
}
});
});
}).then(async () => {
var topicIncrementor = 0;
for (let question of questions) {
for (var i = 0; i < exams.length; i++) {
for (var t = 0; t < exams[i].modules.length; t++) {
for (var q = 0; q < exams[i].modules[t].topics.length; q++) {
exams[i].modules[t].topics[q].questions.push(question);
topicIncrementor++;
}
topicIncrementor = 0;
}
await exams[i].save();
}
}
});
关于javascript - ( Node :6868) [DEP0062] DeprecationWarning: `node --inspect --debug-brk` is deprecated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46014834/
我是ruby的新手,正在配置IRB。我喜欢pretty-print(需要'pp'),但总是输入pp来漂亮地打印它似乎很麻烦。我想做的是默认情况下让它漂亮地打印出来,所以如果我有一个var,比如说,'myvar',然后键入myvar,它会自动调用pretty_inspect而不是常规检查。我从哪里开始?理想情况下,我将能够向我的.irbrc文件添加一个自动调用的方法。有什么想法吗?谢谢! 最佳答案 irb中默认pretty-print对象正是hirb被迫去做。Theseposts解释hirb如何将几乎所有内容转换为ascii表。虽
我遇到了一个非常奇怪的问题,我很难解决。在我看来,我有一个与data-remote="true"和data-method="delete"的链接。当我单击该链接时,我可以看到对我的Rails服务器的DELETE请求。返回的JS代码会更改此链接的属性,其中包括href和data-method。再次单击此链接后,我的服务器收到了对新href的请求,但使用的是旧的data-method,即使我已将其从DELETE到POST(它仍然发送一个DELETE请求)。但是,如果我刷新页面,HTML与"new"HTML相同(随返回的JS发生变化),但它实际上发送了正确的请求类型。这就是这个问题令我困惑的
我有这个:AccountSummary我想单击该链接,但在使用link_to时出现错误。我试过:bot.click(page.link_with(:href=>/menu_home/))bot.click(page.link_with(:class=>'top_level_active'))bot.click(page.link_with(:href=>/AccountSummary/))我得到的错误是:NoMethodError:nil:NilClass的未定义方法“[]” 最佳答案 那是一个javascript链接。Mechan
我有一个包含多个组件的存储库,其中大部分是用JavaScript(Node.js)编写的,一个是用Ruby(RubyonRails)编写的。我想要一个.travis.yml文件来触发一个运行每个组件的所有测试的构建。根据thisTravisCIGoogleGroupthread,目前还没有官方支持。我的目录结构是这样的:.├──构建服务器├──核心├──扩展├──网络应用├──流浪文件├──package.json├──.travis.yml└──生成文件我希望能够运行特定版本的Ruby(2.2.2)和Node.js(0.12.2)。我已经有了一个make目标,所以maketest在每
我在通过RubyMineIDE进行远程调试时遇到以下错误。$bundleexecrdebug-ide--port1234--script/railsserverFastDebugger(ruby-debug-ide0.4.9)listenson:1234/home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.12/lib/ruby-debug-ide.rb:123:in`debug_load'/home/amit/.rvm/gems/ruby-1.9.3-p125/gems/ruby-debug-ide19-0.4.
我看到有关未找到文件min.map的错误消息:GETjQuery'sjquery-1.10.2.min.mapistriggeringa404(NotFound)截图这是从哪里来的? 最佳答案 如果ChromeDevTools报告.map文件的404(可能是jquery-1.10.2.min.map、jquery.min.map或jquery-2.0.3.min.map,但任何事情都可能发生)首先要知道的是,这仅在使用DevTools时才会请求。您的用户不会遇到此404。现在您可以修复此问题或禁用sourcemap功能。修复:获取文
我有一个用Rails3编写的站点。我的帖子模型有一个名为“内容”的文本列。在帖子面板中,html表单使用tinymce将“content”列设置为textarea字段。在首页,因为使用了tinymce,post.html.erb的代码需要用这样的原始方法来实现。.好的,现在如果我关闭浏览器javascript,这个文本区域可以在没有tinymce的情况下输入,也许用户会输入任何xss,比如alert('xss');.我的前台会显示那个警告框。我尝试sanitize(@post.content)在posts_controller中,但sanitize方法将相互过滤tinymce样式。例如
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。多年来,我一直在使用多种语言进行编程,并且认为自己总体上相当擅长。但是,我从未编写过任何自动化测试:没有单元测试,没有TDD,没有BDD,什么都没有。我已经尝试开始为我的项目编写适当的测试套件。我可以看到在进行任何更改后能够自动测试项目中所有代码的理论值(value)。我可以看到像RSpec和Mocha这样的测试框架应该如何使设置和运行所述测试变得相当容易
出于某种原因,我必须为Firefox禁用javascript(手动,我们按照提到的步骤执行http://support.mozilla.org/en-US/kb/javascript-settings-for-interactive-web-pages#w_enabling-and-disabling-javascript)。使用Ruby的SeleniumWebDriver如何实现这一点? 最佳答案 是的,这是可能的。而是另一种方式。您首先需要查看链接Selenium::WebDriver::Firefox::Profile#[]=
我是Ruby和Watir-Webdriver的新手。我有一套用VBScript编写的站点自动化程序,我想将其转换为Ruby/Watir,因为我现在必须支持Firefox。我发现我真的很喜欢Ruby,而且我正在研究Watir,但我已经花了一周时间试图让Webdriver显示我的登录屏幕。该站点以带有“我同意”区域的“警告屏幕”开头。用户点击我同意并显示登录屏幕。我需要单击该区域以显示登录屏幕(这是同一页面,实际上是一个表单,只是隐藏了)。我整天都在用VBScript这样做:objExplorer.Document.GetElementsByTagName("area")(0).click