рдореЗрд░реЗ рдкрд╛рд╕ рдореЛрдЪрд╛ рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкрд░реАрдХреНрд╖рдг рдХреЗрд╕ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрд▓рдЧ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ:
const body: string = `
var moment = require('moment');
setInterval(function(){
console.log(moment().unix());
}, 2000)
`
const vm = new NodeVM({
console: 'redirect',
require: {
external: true,
root: process.cwd()
}
})
vm.run(body)
vm.on('console.log', function(consoleMessage){
console.log('from event', consoleMessage)
})
describe('Vanilla Script Test', function () {
it('should return a console log of a unix from moment', function (done) {
const body: string = `
var moment = require('moment');
setInterval(function(){
console.log(moment().unix());
}, 2000)
`
const vm = new NodeVM({
console: 'redirect',
require: {
external: true,
root: process.cwd()
}
})
vm.run(body)
vm.on('console.log', function(consoleMessage){
done()
})
})
})
VMError: You must specify script path to load relative modules.
рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ vm.run
рдкрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ vm.run(body, 'myFile.js')
, рддреЛ рдпрд╣ рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреБрд░рд╛рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╣рд╛рд▓ рдХреА рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реИред рдЖрдЧреЗ рдХреЛрдИ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЖрдкрдХреЗ рдпреЛрдЧрджрд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдХреЛ
vm.run
рдкрд░ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬреИрд╕реЗvm.run(body, 'myFile.js')
, рддреЛ рдпрд╣ рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред