V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qq5745965425
V2EX  ›  问与答

前端 import Vue from 'vue' 和 var Vue = require('vue'); 写法有什么区别吗

  •  
  •   qq5745965425 · 2016-06-30 12:30:15 +08:00 · 10015 次点击
    这是一个创建于 2858 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前端中

    import Vue from 'vue'
    和 var Vue = require('vue');

    写法有什么区别吗

    请问两种写法各有什么好处呢

    11 条回复    2016-07-01 23:05:38 +08:00
    aivier
        1
    aivier  
       2016-06-30 12:36:46 +08:00 via Android   ❤️ 1
    都没有好处,第一个需要 ES2015 支持,第二个可能需要第三方库并且增加请求数量
    ianva
        2
    ianva  
       2016-06-30 12:40:56 +08:00   ❤️ 1
    commonjs 的 require 是加载时执行
    而 es6 的 import 是调用时执行,加载时只产生引用
    比如引入模块里的值异步的产生了变化, require 他的文件的值是不变的
    而 import 的,则会根据模块值的变化而变化
    SourceMan
        3
    SourceMan  
       2016-06-30 12:42:13 +08:00
    没区别
    yyfearth
        4
    yyfearth  
       2016-06-30 12:48:22 +08:00   ❤️ 1
    一个是 ES6 一个是 CommonJS
    前者是将来的趋势 但是现在需要编译转换一下
    后者是目前最普遍的用法 但是前段的话需要引入 Browserify 或者 RequireJS 来支持
    yyfearth
        5
    yyfearth  
       2016-06-30 12:49:48 +08:00   ❤️ 1
    @SourceMan 不一定吧 Babel 支持多种模块实现的
    Babel 支持 AMD CommonJS 的
    看你的 config 而定
    L3au
        6
    L3au  
       2016-06-30 12:57:18 +08:00   ❤️ 1
    还有 require 支持动态加载,如 require('./' + module)
    import 由于要做静态分析,不支持动态加载
    mufeng
        7
    mufeng  
       2016-06-30 13:10:08 +08:00
    @aivier 这么些很方便,然后写完了编译就行
    mufeng
        8
    mufeng  
       2016-06-30 13:11:19 +08:00
    Vue-cli 这个工具已经把 vue 的所有必须的环境配置好了,只需要写逻辑文件就好,其他编译的事情交给工具就好了
    aivier
        9
    aivier  
       2016-06-30 15:51:24 +08:00
    @mufeng 嗯,但是看起来楼主可能不懂编译
    plqws
        10
    plqws  
       2016-06-30 16:02:11 +08:00   ❤️ 1
    import 只能在代码开头用, require 可以在任何地方用
    Balthild
        11
    Balthild  
       2016-07-01 23:05:38 +08:00
    @plqws 好像不一定……我之前写 vue 的时候在非 js 开头处用 import 也没问题。只是不能在代码块中用而已。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1063 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:30 · PVG 02:30 · LAX 11:30 · JFK 14:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.