在我的index.js文件中,我有这个错误
C:\Users\Utkarsh\Desktop\LearningNode\notable\app\routes\index.js:1
(function (exports, require, module, __filename, __dirname) { ��c
^
SyntaxError: Invalid or unexpected token
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:607:28)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (C:\Users\Utkarsh\Desktop\LearningNode\notable\server.js:11:1)
index.js的实际内容是:
const noteRoutes = require("./note_routes");
module.exports = function(app, db) {
noteRoutes(app, db);
}
我检查了奇怪的引号和目录名称。什么都行不通。似乎问题就在于这一行。
const noteRoutes = require("./note_routes");
编辑:
note_routes.js
module.exports = function(app, db) {
app.post("./notes", (req, res) => {
// We'll create the note here
res.send("hello");
})
}
节点版本是v8.9.4
我使用了崇高的文字3。
答案 0 :(得分:4)
行。我找到了解决这个问题的方法。
问题是我使用PowerShell&#39; index.js
命令在我的项目中创建了Out-File index.js
文件。这可能会导致一些编码问题。
在简单地通过right-click > New file > index.js
创建文件时,我在运行代码时没有出现这样的错误。
答案 1 :(得分:0)
我有同样的问题,不同的解决方案。
由PowerShell创建的index.js
文件使用UCS-2 LE BOM进行编码。
要更改文件以便节点可以运行它(而不是删除并创建新文件),我使用NotePad ++将编码更改为UTF-8
答案 2 :(得分:0)
复制第一个 index.js 文件
只需使用右键单击上下文菜单手动创建新的index.js文件,然后在新的index.js文件中粘贴相同的内容
因为它是使用shell创建的文件编码不同的问题。
答案 3 :(得分:0)
我也面临类似的问题。我只是将“ node_modules”重命名为“ old_node_modules”并执行了“ npm install”命令。这花了一些时间,但问题得到解决,我得以启动该项目。后来我删除了“ old_node_modules”文件夹。