首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拉勾
V2EX  ›  webpack

Webpack 怎么改 html 中的 js 路径?

  •  
  •   phx13ye · 2015-06-08 16:42:37 +08:00 · 4934 次点击
    这是一个创建于 1385 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在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 回复  |  直到 2015-06-27 16:43:10 +08:00
        1
    leojoy710   2015-06-08 17:23:33 +08:00
    开发阶段用webpack-dev-server实时打包 就不用改来改去了...
        2
    crazyxin1988   2015-06-08 17:26:25 +08:00
    可以自己写个webpack插件 自动替换
        3
    phx13ye   2015-06-08 17:46:17 +08:00
    @leojoy710 不太懂什么意思,
    业余前端,已经被js这些项目管理工具搞得有点晕了
    用webpack-dev-server这些路径就不需要手工管理了吗,还是说
    一开始就指定好bundle.js路径,其余按commonjs的风格require进来就好了
        4
    IamJ   2015-06-08 20:31:07 +08:00
    一开始就是 bundle.js
        5
    Gonster   2015-06-08 20:46:42 +08:00
    一般这些工具都带watch模式,源文件更改自动重新编译
        6
    loooooost   2015-06-08 21:10:07 +08:00
    直接用bundle.js
    在webpack配置的devtool中加一个sourcemap来调试
        7
    phx13ye   2015-06-08 22:23:07 +08:00
    @loooooost @IamJ 请教一下
    你好,目前使用react+flux
    我不想好多组件都写一句require ‘react’,所以上面那个A是react.js,B是一个main.js
    如果直接用bundle,是不是webpack自己就能处理好,不会多次将A require进来吗?

    另外请问前端开发中有没有约定俗成的目录结构?webpack对于开发和生产环境一般是怎么配置的?
        8
    Gonster   2015-06-08 22:36:07 +08:00   ♥ 1
        9
    loooooost   2015-06-08 22:45:04 +08:00   ♥ 1
    @phx13ye
    楼上用的commonsChunk是一个方式
    也可以使用webpack配置中的externals

    更多的可以参考一下repo https://github.com/kriasoft/react-starter-kit
        10
    yakczh   2015-06-09 10:37:14 +08:00
    @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 找不到
        11
    cloudcome   2015-06-27 16:43:10 +08:00
    ```
    <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>
    ```
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   806 人在线   最高记录 4385   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 18ms · UTC 19:15 · PVG 03:15 · LAX 12:15 · JFK 15:15
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1