【问题标题】:Js giving Unexpected identifierJs给出意外的标识符
【发布时间】:2019-03-22 07:34:55
【问题描述】:

当我尝试从 cmd 行执行 js 文件时,我收到此错误。我不确定我们是否可以提供这样的钥匙。

const App42 = require('./js/App42-all-1.6.min');
const mod = require('./js/buddy');

module.exports = {

var API_KEY = '014883a05a4902889c860272b3c4*******568072cf82cfc31a42c165f0f8cc6';
var SEC_KEY = 'b3b2df57b86a7fdabe66a96a*******7e04fbd95c6ddef942a3c844878eafbf05';


App42.initialize(API_KEY,SEC_KEY); 

hello: function() {
  return "Hello";
}
}

我得到的错误是:

LB.js:6
    var APIKEY = '014883a05a4902889c860272b3c2170ae145*****2cf82cfc31a42c165f0f8cc6';
        ^^^^^^

SyntaxError: Unexpected identifier
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:617:28)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Function.Module.runMain (module.js:694:10)
at startup (bootstrap_node.js:204:16)
at bootstrap_node.js:625:3

在放弃投票之前,有人可以说出解决方案。这不是您对尝试学习 js 的新用户的回应。

【问题讨论】:

  • 删除var?
  • @adiga 不。它给出错误。
  • 我不熟悉node.js,但我假设您分配的对象文字是module.exports,它是无效的。
  • 您正在导出一个对象,但要访问它,因为它是函数。更改为 module.exports = () => {...rest} 或在里面声明值,因为它是对象。

标签: javascript node.js app42


【解决方案1】:

您正在导出一个对象,但您的对象语法无效:

module.exports = {
//Shouldn't be using var here as it's just a property of an object
var API_KEY = '014883a05a4902889c860272b3c4*******568072cf82cfc31a42c165f0f8cc6';
var SEC_KEY = 'b3b2df57b86a7fdabe66a96a*******7e04fbd95c6ddef942a3c844878eafbf05';

//Shouldn't be calling a function here as it's also in the object definition
App42.initialize(API_KEY,SEC_KEY); 

hello: function() {
  return "Hello";
}
}

您应该只是导出对象的键和值。 因此,根据您想要实际“导出”的内容,您可以尝试

API_KEY:'014883a05a4902889c860272b3c4*******568072cf82cfc31a42c165f0f8cc6',
SEC_KEY:'b3b2df57b86a7fdabe66a96a*******7e04fbd95c6ddef942a3c844878eafbf05',
App42.initialize(API_KEY,SEC_KEY); 
module.exports = {

 API_KEY:API_KEY,
 SEC_KEY:SEC_KEY,
 App42: App42,



hello: function() {
  return "Hello";
}
}

当你然后require这个文件你可以访问各种属性和功能,如

const foo = require('./myfile');
console.log(foo.App42);
console.log(foo.hello());
console.log(foo.API_KEY);

你可以阅读更多关于对象here

【讨论】:

    【解决方案2】:

    这里的问题是你在对象声明(module.exports)中直接声明变量和运行函数,这就是它不能编译的原因。

    你应该这样做:

    const App42 = require('./js/App42-all-1.6.min');
    const mod = require('./js/buddy');
    
    const API_KEY = '014883a05a4902889c860272b3c4*******568072cf82cfc31a42c165f0f8cc6';
    const SEC_KEY = 'b3b2df57b86a7fdabe66a96a*******7e04fbd95c6ddef942a3c844878eafbf05';
    App42.initialize(API_KEY,SEC_KEY); 
    
    module.exports = {
      hello: function() {
        return "Hello";
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2018-10-30
      • 2015-09-14
      • 1970-01-01
      • 2017-09-05
      • 2020-07-10
      相关资源
      最近更新 更多