如何在构建时使用注释在另一个 javascript 中插入一个 javascript 文件
How to insert a javascript file in another javascript at build time using comments
npm 或 VS Code 或任何可以根据评论捆绑或连接 Javascript 文件的东西,例如:
function myBigLibrary(){
//@include util.js
//@include init.js
function privateFunc(){...}
function publicFunc(){
//@include somethingElse.js
...
}
return {
init, publicFunc, etc
}
}
或者类似的东西?我认为当您的 javascript 文件变得非常大时,这种情况很常见。我能找到的都是webpack之类的复杂东西
我正在寻找任何等效的解决方案,允许您在其他代码的任意位置包含任意代码。我想这会给智能感知带来麻烦,但扩展可以解决这个问题。
我不确定你的真正意思,但如果你的意思是链接来自其他 javascript 文件的变量。可能这会帮助你
const { variable name } = require(the javascript file path)
示例:
在 index.js
const { blue } = require('./../js/blue.js)
console.log(blue)
同时在 blue.js
const blue = "dumbass"
如果这对你没有帮助就忽略这个
所以这是实现我想要的东西的简单方法。我一直在学习更多有关如何使用 esbuild 或其他捆绑器执行操作的信息,但我并没有完全找到适合我需要的东西。而且这样更简单、更灵活。它适用于任何文件类型。您可以在文件更改时使用 nodemon 而不是 node 进行自动更新 运行 此代码。
const fs = require('fs')
/////////////////////////
const input = 'example.js'
const output = 'output.js'
const ext = '.js'
// looks for file with optional directory as: //== dir/file
const regex = /\/\/== *([\w-\/]+)/g
const fileContent = fs.readFileSync(input).toString()
// replace the comment references with the corresponding file content
const replacement = fileContent.replace(regex, (match, group)=>{
const comment = '//////// '+group+ext+' ////////\n\n'
const replace = fs.readFileSync(group+ext).toString()
return comment + replace
})
// write replacement to a file
fs.writeFileSync(output, replacement)
npm 或 VS Code 或任何可以根据评论捆绑或连接 Javascript 文件的东西,例如:
function myBigLibrary(){
//@include util.js
//@include init.js
function privateFunc(){...}
function publicFunc(){
//@include somethingElse.js
...
}
return {
init, publicFunc, etc
}
}
或者类似的东西?我认为当您的 javascript 文件变得非常大时,这种情况很常见。我能找到的都是webpack之类的复杂东西
我正在寻找任何等效的解决方案,允许您在其他代码的任意位置包含任意代码。我想这会给智能感知带来麻烦,但扩展可以解决这个问题。
我不确定你的真正意思,但如果你的意思是链接来自其他 javascript 文件的变量。可能这会帮助你
const { variable name } = require(the javascript file path)
示例:
在 index.js
const { blue } = require('./../js/blue.js)
console.log(blue)
同时在 blue.js
const blue = "dumbass"
如果这对你没有帮助就忽略这个
所以这是实现我想要的东西的简单方法。我一直在学习更多有关如何使用 esbuild 或其他捆绑器执行操作的信息,但我并没有完全找到适合我需要的东西。而且这样更简单、更灵活。它适用于任何文件类型。您可以在文件更改时使用 nodemon 而不是 node 进行自动更新 运行 此代码。
const fs = require('fs')
/////////////////////////
const input = 'example.js'
const output = 'output.js'
const ext = '.js'
// looks for file with optional directory as: //== dir/file
const regex = /\/\/== *([\w-\/]+)/g
const fileContent = fs.readFileSync(input).toString()
// replace the comment references with the corresponding file content
const replacement = fileContent.replace(regex, (match, group)=>{
const comment = '//////// '+group+ext+' ////////\n\n'
const replace = fs.readFileSync(group+ext).toString()
return comment + replace
})
// write replacement to a file
fs.writeFileSync(output, replacement)