运行没有服务器的webpack包

时间:2016-03-08 17:33:55

标签: angularjs node.js mobile webpack

我有一个使用webpack进行捆绑的项目(angularjs),它被部署到"发布" webpack配置output.publicPath的目录设置为" /"。

如果我抓住了我的"发布"目录(webpack bundle,index.html和assets)并将它们放在服务器(apache,iis或nodejs / express)目录中,它运行良好。

出现问题,我在以下三种情况下获得了白页:

  • 如果我尝试从"发布"中打开index.html页面 浏览器中的目录(无服务器),output.publicPath设置为" /" 或设置为webpack config

  • 中的URL(http://www.example.com/
  • 如果我把它放在像科尔多瓦这样的移动容器里面 output.publicPath设置为" /"或设置为webpack配置中的URL

  • 如果我从" /"更改我的output.publicPath到网址

我的问题:

为什么webpack工作正常,output.publicPath设置为" /"而不是在webpack配置中设置为URL(http://www.example.com/)?

要运行webpack捆绑的Web应用程序,我是否需要运行服务器(apache,iis),或者我只需单击index.html即可在浏览器中查看应用程序,或者只需将其放在移动容器中即可作为科尔多瓦?

在我看来,我的webpack捆绑式Web应用程序只能与output.publicPath设置为" /"并且还需要一台服务器来运行。

我尝试了很多设置,只有本帖子开头的第一个设置适用于浏览器而不是移动设备。

非常感谢任何想法!

2 个答案:

答案 0 :(得分:0)

  

webpack与移动平台容器(如cordova)兼容,还是我需要做一些特别的工作才能使用?

是的,您可以使用带有cordova的webpack而不会出现问题。您可以查看此repo https://github.com/uhlryk/my-cordova-react-boilerplate(这是我的仓库,但在github中还有很多其他的cordpack捆绑软件包示例)

  

要运行webpack捆绑应用程序,我是否必须拥有服务器(apache,iis),还是只需单击index.html即可查看应用程序?

这取决于你在那里的细节。但是可以单击index.html并运行app。检查我的其他回购https://github.com/uhlryk/react-dynamic-number并查看示例 - http://htmlpreview.github.io/?https://github.com/uhlryk/react-dynamic-number/blob/master/example/index.html您只需单击example / index.html并对应用程序(webpack包)起作用。

答案 1 :(得分:0)

在没有服务器的情况下打开index.html时遇到了同样的问题。我的原因是它在错误的地方寻找依赖项(开发工具控制台错误): Error in dev tools console

我使用此生成器来创建我的应用:https://github.com/shibbir/generator-angular2-typescript

显然,它在“根”(/)位置查找文件,并且从文件系统打开时失败(除非文件位于根文件夹中)。