我正在开发一个 vscode 扩展,并正在使用esbuild
它来进行捆绑/缩小。我想使用jsonc-parser NPM 模块。当我这样做时,esbuild
运行正常,但无法加载扩展,出现错误“激活扩展失败:找不到模块'./impl/format'”。我可以在比整个 vscode 扩展更小的示例中重现这一点,请参见以下内容:
主文件
import * as jsonc from 'jsonc-parser'
const example = '// Some comment\n{"a":1,"b":2}'
console.log(`Parsing ${example}`)
const errors = []
const mexample = jsonc.parse(example, errors)
console.log(`Result: ${JSON.stringify(mexample, null, 2)}`)
console.log(`Errors: ${JSON.stringify(errors)}`)
相关位package.json
"scripts": {
"run-bundle": "node out.js",
"bundle": "esbuild index.ts --bundle --platform=node --outfile=out.js"
},
"dependencies": {
"jsonc-parser": "^3.0.0"
},
"devDependencies": {
"esbuild": "^0.12.28"
}
在捆绑的 out.js 中,我可以看到
var formatter = require2("./impl/format");
var edit = require2("./impl/edit");
var scanner = require2("./impl/scanner");
var parser = require2("./impl/parser");
所以看起来esbuild
还没有选择这些“内部依赖项”进行捆绑。
我尝试了一些选项,tsconfig.json
但package.json
没有成功。