webpack-dev-server electron multithreading












0














Looking to better understand the way to approach my desired goal. Building an electron application that will perform processor intense tasks. I would like to utilize multithreaded design using the approach of creating a hidden BrowserWindow() for each task.



I am currently using electron-webpack and webpack-dev-serve for development. I am having limited success at the moment. What would be the best/cleanest way to have the following architecture that runs both in development and production mode.



Desired Architecture



I currently have main.js and renderer.js working well. Now I am attempting to run additional BrowserWindows that will perform more processor intensive task, but I am not sure on how to get this working. I did find a good example here of electron background processing, but this does not involve using electron-webpack and webpack-dev-serve.



I was thinking to have my src code like this



src/common/task1/
- task1.html
- task1.js
src/common/task2/
- task2.html
- task2.js


In my main.js (production) I would have:



let bg = new BrowserWindow({ show: false })
bg.loadURL(url.format({
pathname: path.join(__dirname, 'common/task1/task1.html'),
protocol: 'file',
slashes: true
}))


currently, I can see common/* bundled in my app.asar. However, it does not seem to load the task1.html file. I have the BrowserWindow set show: true. So I do see the window and I don't see any errors. However, my <h1> tag to prove the html is loaded is not showing in the window. I don't need any HTML to display, because the window should be hidden and I only wish to use the window to run processor intensive javascript code.










share|improve this question



























    0














    Looking to better understand the way to approach my desired goal. Building an electron application that will perform processor intense tasks. I would like to utilize multithreaded design using the approach of creating a hidden BrowserWindow() for each task.



    I am currently using electron-webpack and webpack-dev-serve for development. I am having limited success at the moment. What would be the best/cleanest way to have the following architecture that runs both in development and production mode.



    Desired Architecture



    I currently have main.js and renderer.js working well. Now I am attempting to run additional BrowserWindows that will perform more processor intensive task, but I am not sure on how to get this working. I did find a good example here of electron background processing, but this does not involve using electron-webpack and webpack-dev-serve.



    I was thinking to have my src code like this



    src/common/task1/
    - task1.html
    - task1.js
    src/common/task2/
    - task2.html
    - task2.js


    In my main.js (production) I would have:



    let bg = new BrowserWindow({ show: false })
    bg.loadURL(url.format({
    pathname: path.join(__dirname, 'common/task1/task1.html'),
    protocol: 'file',
    slashes: true
    }))


    currently, I can see common/* bundled in my app.asar. However, it does not seem to load the task1.html file. I have the BrowserWindow set show: true. So I do see the window and I don't see any errors. However, my <h1> tag to prove the html is loaded is not showing in the window. I don't need any HTML to display, because the window should be hidden and I only wish to use the window to run processor intensive javascript code.










    share|improve this question

























      0












      0








      0







      Looking to better understand the way to approach my desired goal. Building an electron application that will perform processor intense tasks. I would like to utilize multithreaded design using the approach of creating a hidden BrowserWindow() for each task.



      I am currently using electron-webpack and webpack-dev-serve for development. I am having limited success at the moment. What would be the best/cleanest way to have the following architecture that runs both in development and production mode.



      Desired Architecture



      I currently have main.js and renderer.js working well. Now I am attempting to run additional BrowserWindows that will perform more processor intensive task, but I am not sure on how to get this working. I did find a good example here of electron background processing, but this does not involve using electron-webpack and webpack-dev-serve.



      I was thinking to have my src code like this



      src/common/task1/
      - task1.html
      - task1.js
      src/common/task2/
      - task2.html
      - task2.js


      In my main.js (production) I would have:



      let bg = new BrowserWindow({ show: false })
      bg.loadURL(url.format({
      pathname: path.join(__dirname, 'common/task1/task1.html'),
      protocol: 'file',
      slashes: true
      }))


      currently, I can see common/* bundled in my app.asar. However, it does not seem to load the task1.html file. I have the BrowserWindow set show: true. So I do see the window and I don't see any errors. However, my <h1> tag to prove the html is loaded is not showing in the window. I don't need any HTML to display, because the window should be hidden and I only wish to use the window to run processor intensive javascript code.










      share|improve this question













      Looking to better understand the way to approach my desired goal. Building an electron application that will perform processor intense tasks. I would like to utilize multithreaded design using the approach of creating a hidden BrowserWindow() for each task.



      I am currently using electron-webpack and webpack-dev-serve for development. I am having limited success at the moment. What would be the best/cleanest way to have the following architecture that runs both in development and production mode.



      Desired Architecture



      I currently have main.js and renderer.js working well. Now I am attempting to run additional BrowserWindows that will perform more processor intensive task, but I am not sure on how to get this working. I did find a good example here of electron background processing, but this does not involve using electron-webpack and webpack-dev-serve.



      I was thinking to have my src code like this



      src/common/task1/
      - task1.html
      - task1.js
      src/common/task2/
      - task2.html
      - task2.js


      In my main.js (production) I would have:



      let bg = new BrowserWindow({ show: false })
      bg.loadURL(url.format({
      pathname: path.join(__dirname, 'common/task1/task1.html'),
      protocol: 'file',
      slashes: true
      }))


      currently, I can see common/* bundled in my app.asar. However, it does not seem to load the task1.html file. I have the BrowserWindow set show: true. So I do see the window and I don't see any errors. However, my <h1> tag to prove the html is loaded is not showing in the window. I don't need any HTML to display, because the window should be hidden and I only wish to use the window to run processor intensive javascript code.







      multithreading webpack electron webpack-dev-server






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 19 '18 at 12:41









      user2027058

      33




      33





























          active

          oldest

          votes











          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%2f53374884%2fwebpack-dev-server-electron-multithreading%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          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.





          Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


          Please pay close attention to the following guidance:


          • 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%2f53374884%2fwebpack-dev-server-electron-multithreading%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

          MongoDB - Not Authorized To Execute Command

          in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

          Npm cannot find a required file even through it is in the searched directory