phx13ye
V2EX  ›  webpack

Webpack 怎么改 html 中的 js 路径?

  •  
  •   phx13ye · Jun 8, 2015 · 9504 views
    This topic created in 3995 days ago, the information mentioned may be changed or developed.
    在HTML文件中如果有
    ```html
    <script src="./src/js/A.js"></script>
    <script src="./src/js/B.js"></script>
    ```
    wepack之后,A,B的源码合并并压缩为bundle.js
    有什么方法可以改为
    ```html
    <script src="./build/js/bundle.js"></script>
    ```
    11 replies    2015-06-27 16:43:10 +08:00
    leojoy710
        1
    leojoy710  
       Jun 8, 2015
    开发阶段用webpack-dev-server实时打包 就不用改来改去了...
    crazyxin1988
        2
    crazyxin1988  
       Jun 8, 2015
    可以自己写个webpack插件 自动替换
    phx13ye
        3
    phx13ye  
    OP
       Jun 8, 2015
    @leojoy710 不太懂什么意思,
    业余前端,已经被js这些项目管理工具搞得有点晕了
    用webpack-dev-server这些路径就不需要手工管理了吗,还是说
    一开始就指定好bundle.js路径,其余按commonjs的风格require进来就好了
    IamJ
        4
    IamJ  
       Jun 8, 2015
    一开始就是 bundle.js
    Gonster
        5
    Gonster  
       Jun 8, 2015
    一般这些工具都带watch模式,源文件更改自动重新编译
    loooooost
        6
    loooooost  
       Jun 8, 2015
    直接用bundle.js
    在webpack配置的devtool中加一个sourcemap来调试
    phx13ye
        7
    phx13ye  
    OP
       Jun 8, 2015
    @loooooost @IamJ 请教一下
    你好,目前使用react+flux
    我不想好多组件都写一句require ‘react’,所以上面那个A是react.js,B是一个main.js
    如果直接用bundle,是不是webpack自己就能处理好,不会多次将A require进来吗?

    另外请问前端开发中有没有约定俗成的目录结构?webpack对于开发和生产环境一般是怎么配置的?
    loooooost
        9
    loooooost  
       Jun 8, 2015   ❤️ 1
    @phx13ye
    楼上用的commonsChunk是一个方式
    也可以使用webpack配置中的externals

    更多的可以参考一下repo https://github.com/kriasoft/react-starter-kit
    yakczh
        10
    yakczh  
       Jun 9, 2015
    @phx13ye jsx 和 require(‘xxx’) 的代码必须一起打包成bundle.js吗, 打包以后的bundle.js差不多接近2m了 我想 require('xxx') 和actions store打包成bundle.js jsx的component在页面用script引用

    比如<script src="bundle.js" ></script>
    <script type='text/jsx' >

    ...
    componentDidMount: function() {
    NodeStore.addChangeListener(this.onChange);
    },

    ...
    </script>
    但是提示 NodeStore 找不到
    cloudcome
        11
    cloudcome  
       Jun 27, 2015
    ```
    <script src="./src/js/A.js"></script>
    <script src="./src/js/B.js"></script>
    ```

    这种情况,使用 [coolie](http://coolie.ydr.me/) 非常容易实现。


    ```
    <!--coolie-->
    <script src="./src/js/A.js"></script>
    <script src="./src/js/B.js"></script>
    <!--/coolie-->
    ```

    使用
    ```
    coolie build
    ```
    构建之后

    =>

    ```
    <script src="/abcdef123456.js"></script>
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1460 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 17:00 · PVG 01:00 · LAX 10:00 · JFK 13:00
    ♥ Do have faith in what you're doing.