Execute javascript file in child process within ElectronHow to execute a JavaScript function when I have its name as a stringJavaScript that executes after page loadHow do I include a JavaScript file in another JavaScript file?Remove all child elements of a DOM node in JavaScriptUsing Razor within JavaScriptList view getListItemXmlAttributes method fails with child publication itemsLink and execute external JavaScript file hosted on GitHubSpawn a child process in ElectronForking from Electron process fails on Windows only from installed executableHow to fork a child process with electron

IP addresses from public IP block in my LAN

29er Road Tire?

Where are the "shires" in the UK?

Has a commercial or military jet bi-plane ever been manufactured?

Is there a word that describe the non-justified use of a more complex word?

Shutter speed -vs- effective image stabilisation

In Russian, how do you idiomatically express the idea of the figurative "overnight"?

Do publishers care if submitted work has already been copyrighted?

How can internet speed be 10 times slower without a router than when using a router?

Building a list of products from the elements in another list

Word meaning as function of the composition of its phonemes

Can my company stop me from working overtime?

Adding command shortcuts to bin

What are the advantages of luxury car brands like Acura/Lexus over their sibling non-luxury brands Honda/Toyota?

Would glacier 'trees' be plausible?

Decoupling cap routing on a 4 layer PCB

How did the Venus Express detect lightning?

3D Volume in TIKZ

How to increase the size of the cursor in Lubuntu 19.04?

A factorization game

Out of scope work duties and resignation

Is there an idiom that support the idea that "inflation is bad"?

Does it make sense for a function to return an rvalue reference?

Gerrymandering Puzzle - Rig the Election



Execute javascript file in child process within Electron


How to execute a JavaScript function when I have its name as a stringJavaScript that executes after page loadHow do I include a JavaScript file in another JavaScript file?Remove all child elements of a DOM node in JavaScriptUsing Razor within JavaScriptList view getListItemXmlAttributes method fails with child publication itemsLink and execute external JavaScript file hosted on GitHubSpawn a child process in ElectronForking from Electron process fails on Windows only from installed executableHow to fork a child process with electron






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















I've got an Electron app with Angular inside (last versions). I need to execute javascript (not typescript) file from the project in child process (some heavy things that I don't want to execute syncronously).


Tried this solutions:


1. Created function Loader, put all content there:



export function Loader() console.log(111); 


Then in component that creates child process:



import Loader from 'some/path/to/loader.js';

public doSomething(): void null): Promise<void> =>
if (code === 0)
console.log(`Finished with code $code`);
await this.someMethod();
else
console.error(`Exit code is $code`);


);





2.Removing Loader function wrapper, js file looks like



console.log(1111);


In component:



public doSomething(): void {
fork(
require.resolve('some/path/to/loader.js'),
[ ... some string args here ],
env: 'ELECTRON_RUN_AS_NODE': '1'
)
.on(// The same event handling


For both cases child process in prod mode or release build fails with code 1. The same code placed to Electron's main.ts file works.



How can I fix child process execution in the place where I'm calling it?










share|improve this question




























    0















    I've got an Electron app with Angular inside (last versions). I need to execute javascript (not typescript) file from the project in child process (some heavy things that I don't want to execute syncronously).


    Tried this solutions:


    1. Created function Loader, put all content there:



    export function Loader() console.log(111); 


    Then in component that creates child process:



    import Loader from 'some/path/to/loader.js';

    public doSomething(): void null): Promise<void> =>
    if (code === 0)
    console.log(`Finished with code $code`);
    await this.someMethod();
    else
    console.error(`Exit code is $code`);


    );





    2.Removing Loader function wrapper, js file looks like



    console.log(1111);


    In component:



    public doSomething(): void {
    fork(
    require.resolve('some/path/to/loader.js'),
    [ ... some string args here ],
    env: 'ELECTRON_RUN_AS_NODE': '1'
    )
    .on(// The same event handling


    For both cases child process in prod mode or release build fails with code 1. The same code placed to Electron's main.ts file works.



    How can I fix child process execution in the place where I'm calling it?










    share|improve this question
























      0












      0








      0








      I've got an Electron app with Angular inside (last versions). I need to execute javascript (not typescript) file from the project in child process (some heavy things that I don't want to execute syncronously).


      Tried this solutions:


      1. Created function Loader, put all content there:



      export function Loader() console.log(111); 


      Then in component that creates child process:



      import Loader from 'some/path/to/loader.js';

      public doSomething(): void null): Promise<void> =>
      if (code === 0)
      console.log(`Finished with code $code`);
      await this.someMethod();
      else
      console.error(`Exit code is $code`);


      );





      2.Removing Loader function wrapper, js file looks like



      console.log(1111);


      In component:



      public doSomething(): void {
      fork(
      require.resolve('some/path/to/loader.js'),
      [ ... some string args here ],
      env: 'ELECTRON_RUN_AS_NODE': '1'
      )
      .on(// The same event handling


      For both cases child process in prod mode or release build fails with code 1. The same code placed to Electron's main.ts file works.



      How can I fix child process execution in the place where I'm calling it?










      share|improve this question














      I've got an Electron app with Angular inside (last versions). I need to execute javascript (not typescript) file from the project in child process (some heavy things that I don't want to execute syncronously).


      Tried this solutions:


      1. Created function Loader, put all content there:



      export function Loader() console.log(111); 


      Then in component that creates child process:



      import Loader from 'some/path/to/loader.js';

      public doSomething(): void null): Promise<void> =>
      if (code === 0)
      console.log(`Finished with code $code`);
      await this.someMethod();
      else
      console.error(`Exit code is $code`);


      );





      2.Removing Loader function wrapper, js file looks like



      console.log(1111);


      In component:



      public doSomething(): void {
      fork(
      require.resolve('some/path/to/loader.js'),
      [ ... some string args here ],
      env: 'ELECTRON_RUN_AS_NODE': '1'
      )
      .on(// The same event handling


      For both cases child process in prod mode or release build fails with code 1. The same code placed to Electron's main.ts file works.



      How can I fix child process execution in the place where I'm calling it?







      javascript angular electron






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Mar 23 at 0:15









      WeekendManWeekendMan

      134214




      134214






















          2 Answers
          2






          active

          oldest

          votes


















          0














          You probably might want to use WebWorkers.



          You can move some of your heavy code to web-workers and keep your main thread non-blocked.



          let win = new BrowserWindow(
          webPreferences:
          nodeIntegrationInWorker: true

          )


          and then



          let worker = new Worker('script.js')


          https://electronjs.org/docs/tutorial/multithreading






          share|improve this answer
































            0














            If you are in the Renderer, I believe you need to use remote



            something like this could work:



            const spawn = window.remote.require('child_process')
            const ls = spawn('ls', ['-lh', '/usr'])

            ls.stdout.on('data', (data) =>
            console.log(`stdout: $data`)
            )

            ls.stderr.on('data', (data) =>
            console.log(`stderr: $data`)
            )


            in the above you'd need to attach remote to window:



             <script>
            this.window.remote = require('electron').remote;
            </script>





            share|improve this answer























              Your Answer






              StackExchange.ifUsing("editor", function ()
              StackExchange.using("externalEditor", function ()
              StackExchange.using("snippets", function ()
              StackExchange.snippets.init();
              );
              );
              , "code-snippets");

              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "1"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55309362%2fexecute-javascript-file-in-child-process-within-electron%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              0














              You probably might want to use WebWorkers.



              You can move some of your heavy code to web-workers and keep your main thread non-blocked.



              let win = new BrowserWindow(
              webPreferences:
              nodeIntegrationInWorker: true

              )


              and then



              let worker = new Worker('script.js')


              https://electronjs.org/docs/tutorial/multithreading






              share|improve this answer





























                0














                You probably might want to use WebWorkers.



                You can move some of your heavy code to web-workers and keep your main thread non-blocked.



                let win = new BrowserWindow(
                webPreferences:
                nodeIntegrationInWorker: true

                )


                and then



                let worker = new Worker('script.js')


                https://electronjs.org/docs/tutorial/multithreading






                share|improve this answer



























                  0












                  0








                  0







                  You probably might want to use WebWorkers.



                  You can move some of your heavy code to web-workers and keep your main thread non-blocked.



                  let win = new BrowserWindow(
                  webPreferences:
                  nodeIntegrationInWorker: true

                  )


                  and then



                  let worker = new Worker('script.js')


                  https://electronjs.org/docs/tutorial/multithreading






                  share|improve this answer















                  You probably might want to use WebWorkers.



                  You can move some of your heavy code to web-workers and keep your main thread non-blocked.



                  let win = new BrowserWindow(
                  webPreferences:
                  nodeIntegrationInWorker: true

                  )


                  and then



                  let worker = new Worker('script.js')


                  https://electronjs.org/docs/tutorial/multithreading







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 23 at 0:26

























                  answered Mar 23 at 0:20









                  Erick AkyErick Aky

                  714




                  714























                      0














                      If you are in the Renderer, I believe you need to use remote



                      something like this could work:



                      const spawn = window.remote.require('child_process')
                      const ls = spawn('ls', ['-lh', '/usr'])

                      ls.stdout.on('data', (data) =>
                      console.log(`stdout: $data`)
                      )

                      ls.stderr.on('data', (data) =>
                      console.log(`stderr: $data`)
                      )


                      in the above you'd need to attach remote to window:



                       <script>
                      this.window.remote = require('electron').remote;
                      </script>





                      share|improve this answer



























                        0














                        If you are in the Renderer, I believe you need to use remote



                        something like this could work:



                        const spawn = window.remote.require('child_process')
                        const ls = spawn('ls', ['-lh', '/usr'])

                        ls.stdout.on('data', (data) =>
                        console.log(`stdout: $data`)
                        )

                        ls.stderr.on('data', (data) =>
                        console.log(`stderr: $data`)
                        )


                        in the above you'd need to attach remote to window:



                         <script>
                        this.window.remote = require('electron').remote;
                        </script>





                        share|improve this answer

























                          0












                          0








                          0







                          If you are in the Renderer, I believe you need to use remote



                          something like this could work:



                          const spawn = window.remote.require('child_process')
                          const ls = spawn('ls', ['-lh', '/usr'])

                          ls.stdout.on('data', (data) =>
                          console.log(`stdout: $data`)
                          )

                          ls.stderr.on('data', (data) =>
                          console.log(`stderr: $data`)
                          )


                          in the above you'd need to attach remote to window:



                           <script>
                          this.window.remote = require('electron').remote;
                          </script>





                          share|improve this answer













                          If you are in the Renderer, I believe you need to use remote



                          something like this could work:



                          const spawn = window.remote.require('child_process')
                          const ls = spawn('ls', ['-lh', '/usr'])

                          ls.stdout.on('data', (data) =>
                          console.log(`stdout: $data`)
                          )

                          ls.stderr.on('data', (data) =>
                          console.log(`stderr: $data`)
                          )


                          in the above you'd need to attach remote to window:



                           <script>
                          this.window.remote = require('electron').remote;
                          </script>






                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Mar 23 at 3:24









                          scottjustin5000scottjustin5000

                          92369




                          92369



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55309362%2fexecute-javascript-file-in-child-process-within-electron%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

                              Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

                              Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript