我正在尝试在TypeScript中导入我的package.json文件,它似乎不起作用.具体来说,我只是尝试导入它,以便我可以访问日志语句的名称和版本属性.就像是:
import * as pjson from '../package.json';
// other code here
log.info(`${pjson.name}:${pjson.version}` started on port ...);
Run Code Online (Sandbox Code Playgroud)
我们在其他使用Node/Babel的项目中使用相同的语法,但我试图在这些部分周围引入一些TypeScript.在其他地方,我们会做类似的事情:
import { name, version} from '../package.json';
Run Code Online (Sandbox Code Playgroud)
然而,这在这里不起作用.我按照https://www.npmjs.com/package/json-d-ts上的说明操作,这至少使我的import语句出错,但现在当我尝试访问属性时,我收到以下错误:
src/index.ts(20,21): error TS2339: Property 'name' does not exist on type 'typeof import("*.json")'.
src/index.ts(20,35): error TS2339: Property 'version' does not exist on type 'typeof import("*.json")'.
Run Code Online (Sandbox Code Playgroud)
有没有办法解决这个问题,或者我只是必须在某处硬编码这些值(而不是从package.json中动态检索它们)?也许我可以用import("*.json")某种方式声明一个类型,并在其上定义这些属性?
嗨,我正在尝试调用一个JSON中属性值的函数.
在不同场景中获得不同的结果
var x = 3;
var foo = {
x: 2,
inner: {
x: 1,
reValue: function() {
return this.x
}
}
}
var go = foo.inner.reValue;
Run Code Online (Sandbox Code Playgroud)
情况1:
console.log(go()) // 3
Run Code Online (Sandbox Code Playgroud)
案例2:
console.log(foo.inner.reValue()) // 1
Run Code Online (Sandbox Code Playgroud)
谁能解释案例1?
当我尝试通过luarocks安装moonscript时,进程在安装moonscript的依赖项时出错,并说"cl"不是已安装/识别的程序.
C:\Users\Kingdaro>luarocks install moonscript
Installing http://luarocks.org/repositories/rocks/moonscript-0.2.4-1.src.rock...
Missing dependencies for moonscript:
lpeg >= 0.10, ~= 0.11
alt-getopt >= 0.7
7-Zip 9.10 beta Copyright (c) 1999-2009 Igor Pavlov 2009-12-22
Processing archive: lpeg-0.12.tar.gz
Extracting lpeg-0.12.tar
Everything is Ok
Size: 245760
Compressed: 66649
7-Zip 9.10 beta Copyright (c) 1999-2009 Igor Pavlov 2009-12-22
Processing archive: lpeg-0.12.tar
Extracting lpeg-0.12
Extracting lpeg-0.12\makefile
Extracting lpeg-0.12\HISTORY
Extracting lpeg-0.12\test.lua
Extracting lpeg-0.12\re.lua
Extracting lpeg-0.12\lpeg.html
Extracting lpeg-0.12\re.html
Extracting lpeg-0.12\lpeg-128.gif
Extracting lpeg-0.12\lptypes.h
Extracting lpeg-0.12\lpcap.h
Extracting lpeg-0.12\lpcap.c
Extracting lpeg-0.12\lpcode.h
Extracting lpeg-0.12\lpcode.c
Extracting lpeg-0.12\lpprint.h
Extracting …Run Code Online (Sandbox Code Playgroud) 我希望能够使用MoonScript为ComputerCraft制作一个程序,但由于CC的沙盒方式可以防止Minecraft服务器上的安全问题,我不能直接要求moonscript并从那里运行moonscript代码.我必须将我的moonscript代码转换为lua.
然而,这是有问题的,因为moonscript的类实现非常大,并且不是非常文件化保守的.当我输入"class Bacon"时,它会为lua输出:
local Bacon
do
local _parent_0 = nil
local _base_0 = { }
_base_0.__index = _base_0
if _parent_0 then
setmetatable(_base_0, _parent_0.__base)
end
local _class_0 = setmetatable({
__init = function(self, ...)
if _parent_0 then
return _parent_0.__init(self, ...)
end
end,
__base = _base_0,
__name = "Bacon",
__parent = _parent_0
}, {
__index = function(cls, name)
local val = rawget(_base_0, name)
if val == nil and _parent_0 then
return _parent_0[name]
else
return val
end
end,
__call = …Run Code Online (Sandbox Code Playgroud) json ×2
lua ×2
moonscript ×2
function ×1
javascript ×1
lpeg ×1
luarocks ×1
this ×1
typescript ×1
var ×1