移动使用webpack构建的vuejs应用程序

问题描述:

我使用vue-cliwebpack模板创建了一个Vuejs2应用程序。所有工作正常,同时使用npm run dev。我已经准备好了释放到生产,所以我着手建设使用npm run build其输出的应用:如果我去dist目录移动使用webpack构建的vuejs应用程序

⠋ building for production... 
Starting to optimize CSS... 
Processing static/css/app.c8922694f1a64e6d88212a475e9acb3d.css... 
Processed static/css/app.c8922694f1a64e6d88212a475e9acb3d.css, before: 13939, after: 13014, ratio: 93.36% 
Hash: 81c876041faf79bde1db 
Version: webpack 2.4.1 
Time: 15715ms 
                Asset  Size Chunks     Chunk Names 
       static/js/vendor.d14a81341e99db221385.js  595 kB  0 [emitted] [big] vendor 
          static/img/world.b9bd0db.png  407 kB   [emitted] [big] 
       static/fonts/Montserrat-Light.9e52b00.ttf  192 kB   [emitted]   
      static/fonts/VarelaRound-Regular.eefe486.ttf  135 kB   [emitted]   
         static/fonts/LANENAR_.97d2f1c.ttf 20.3 kB   [emitted]   
        static/js/app.7e05b814ec0b7b7e4286.js 17.8 kB  1 [emitted]   app 
      static/js/manifest.432e34173b16e9643e3a.js  1.5 kB  2 [emitted]   manifest 
    static/css/app.c8922694f1a64e6d88212a475e9acb3d.css  13 kB  1 [emitted]   app 
      static/js/vendor.d14a81341e99db221385.js.map 2.98 MB  0 [emitted]   vendor 
       static/js/app.7e05b814ec0b7b7e4286.js.map  113 kB  1 [emitted]   app 
static/css/app.c8922694f1a64e6d88212a475e9acb3d.css.map 26.3 kB  1 [emitted]   app 
     static/js/manifest.432e34173b16e9643e3a.js.map 14.4 kB  2 [emitted]   manifest 
              index.html 446 bytes   [emitted]   

    Build complete. 

dist目录

和运行↳ python -m SimpleHTTPServer 8000然后一切工作正常。

我现在将dist目录移动到我的服务器文档根目录,这就是一切崩溃的地方。该应用程序再也找不到编译后的文件:

localhost/:1 GET http://localhost:8000/static/css/app.c8922694f1a64e6d88212a475e9acb3d.css 
localhost/:1 GET http://localhost:8000/static/js/manifest.432e34173b16e9643e3a.js 
localhost/:1 GET http://localhost:8000/static/js/app.7e05b814ec0b7b7e4286.js 
localhost/:1 GET http://localhost:8000/static/js/vendor.d14a81341e99db221385.js 
localhost/:1 GET http://localhost:8000/static/js/app.7e05b814ec0b7b7e4286.js 

显然,这是找错了地方,应该找

http://localhost:8000/dist/static/css/app.c8922694f1a64e6d88212a475e9acb3d.css 

这里是index.html

<script type=text/javascript src=/static/js/manifest.432e34173b16e9643e3a.js></script> 
<script type=text/javascript src=/static/js/vendor.d14a81341e99db221385.js></script> 
<script type=text/javascript src=/static/js/app.7e05b814ec0b7b7e4286.js></script> 

我怎样才能修改webpack配置使应用程序加载在服务器文档根目录下?

+0

难道不是按预期运行的名字,如果你的*内容*你的/ dist目录复制到您的服务器的根?/dist目录本身不应复制到您的服务器。 – TimHayes

+0

是的,它的确如此。问题是我有我的服务器根下有多个东西,我做了这个应用程序坐在目录''dist''或''我的应用程序' – neric

修改config/index.js像这样下build部分:

assetsPublicPath: '/dist/' 

的伎俩。

变化dist到whathever要使用

+0

感谢您的后续答案。 +1 – TimHayes

+0

类似问题/解决方案:https://forum.vuejs.org/t/how-to-set-root-base-url-for-a-vuejs-project/7682 – neric