我有一个项目(angularjs),它使用 webpack 进行捆绑,并将其部署到“release”目录,并将 webpack 配置 output.publicPath 设置为“/”。
如果我获取“release”目录的内容(webpack 包、index.html 和 asset)并将它们放入服务器(apache、iis 或 nodejs/express)目录中,效果会很好。
在以下三种情况下会出现问题并出现白页:
如果我尝试从“release”打开index.html页面 浏览器(无服务器)中的目录,output.publicPath 设置为“/” 或者在 webpack 配置中设置为 url ( http://www.example.com/ )
如果我将其放入移动容器(例如 cordova)中 output.publicPath 设置为“/”或设置为 webpack 配置中的 url
如果我将我的output.publicPath从“/”更改为网址
我的问题:
为什么 webpack 在 webpack 配置中将 output.publicPath 设置为“/”而不设置为 url ( http://www.example.com/ ) 时工作正常?
要运行 webpack 捆绑的 Web 应用程序,我是否需要运行服务器(apache、iis),或者我可以单击 index.html 在浏览器中查看应用程序,还是将其放入移动容器(如 cordova)中?
在我看来,我的 webpack 捆绑的 Web 应用程序只能在 output.publicPath 设置为“/”的情况下工作,并且还需要服务器才能运行。
我尝试了很多设置,但只有本文开头的第一个设置适用于浏览器,不适用于移动设备。
任何想法都将不胜感激!
最佳答案
is webpack compatible with mobile platform containers such as cordova or do I need to do something special for it to work?
是的,您可以毫无问题地将 webpack 与 cordova 一起使用。您可以查看此存储库 https://github.com/uhlryk/my-cordova-react-boilerplate (这是我的存储库,但在 github 中还有许多其他适用于 cordova 的 webpack bundle 示例)
To run a webpack bundle application, do I have to have a server (apache, iis) or can I just click on the index.html to view the app?
这取决于您那里的详细信息。但可以单击index.html并运行应用程序。检查我的其他仓库 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 即可使用 React 应用程序(Webpack bundle )。
关于angularjs - 在没有服务器的情况下运行 webpack 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35874119/