账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    webpack配置了externals后,区分生产环境和开发环境老是要手动注释某些代码,怎么办?
    • 2020-01-01 00:00
    • 10
    46
    0

    通过externals配置后的模块,那么就可以直接用script引入cdn在线js文件。
    那么遇到问题。
    开发环境的时候
    必须手动去注释掉一些代码,比如html文件的script标签,(cdn加载)
    import element from 'element-ui'; main.js 这行又要去掉注释

    index.html

    <!--<script src="https://unpkg.com/vue@2.6.10/dist/vue.min.js"></script>
        <script src="https://unpkg.com/vuex@3.1.1/dist/vuex.min.js"></script>
        <script src="https://unpkg.com/vue-router@3.0.7/dist/vue-router.min.js"></script>
        <script src="https://unpkg.com/element-ui@2.11.1/lib/index.js"></script>
        <script src="https://unpkg.com/axios@0.19.0/dist/axios.min.js"></script>
        <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.min.js"></script>-->

    生产环境的时候
    index.html

    <script src="https://unpkg.com/vue@2.6.10/dist/vue.min.js"></script>
        <script src="https://unpkg.com/vuex@3.1.1/dist/vuex.min.js"></script>
        <script src="https://unpkg.com/vue-router@3.0.7/dist/vue-router.min.js"></script>
        <script src="https://unpkg.com/element-ui@2.11.1/lib/index.js"></script>
        <script src="https://unpkg.com/axios@0.19.0/dist/axios.min.js"></script>
        <script src="https://cdn.bootcss.com/echarts/4.2.1-rc1/echarts-en.common.min.js"></script>

    又要手动去掉注释
    import element from 'element-ui'; main.js 这行又要注释

    有什么办法可以不用手动去操作的?
    欢迎大家讨论

    2
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 無奈年華、 普通会员 1楼

      在webpack配置中,可以使用externals来指定一些不需要在源代码中明确暴露的库或者模块。这些库或者模块可以在多个文件中被使用,而不需要在源代码中显式引用。这样可以降低项目的体积,提高项目的可维护性。

      对于区分生产环境和开发环境的设置,你可以在webpack配置文件中指定externals来限制外部模块的使用。例如,你可以指定module.exports的exportedFields属性为一个对象,这个对象中定义了哪些模块可以被生产环境使用,哪些模块可以被开发环境使用。

      例如,如果你的webpack配置文件如下:

      javascript module.exports = { // ... externals: { // ... "react": "React", "react-dom": "ReactDOM" }, // ... };

      在这个配置中,我们使用了"react"和"react-dom"这两个模块作为externals,这意味着它们只能在生产环境中使用,不能在开发环境中使用。这样,生产环境和开发环境就可以根据需要进行区分。

      需要注意的是,externals的使用可能会对项目产生一些影响。例如,如果你的项目中使用了某个库,但是这个库在生产环境中被禁用了,那么这个库在生产环境中的使用也会被禁止。因此,在使用externals时,需要谨慎考虑其可能带来的影响。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部