javascript - 前端模块化开发遇到的问题,zepto引入报错
PHPz
PHPz 2017-04-11 12:04:53
0
2
446

直接上代码吧:
我的zepto是直接npm install zepto

// app.js

"use strict";

import $ from 'zepto'

let str = "ok2s"
$("p").html(str)

编译后chrome的报错:

Uncaught TypeError: Cannot read property 'createElement' of undefined 
...

我用的是gulp的browserify编译的,因为实际项目中有多个入口文件,所以用了glob

// gulpfile.js
gulp.task("browserify", function () {

    glob('src/js/**.main.js', function(err, files) {
      if(err) done(err);

      var tasks = files.map(function(entry){
          return browserify({entries: [entry]})
              .transform(babelify,{  //此处babel的各配置项格式与.babelrc文件相同
                presets: [
                  'es2015'  //转换es6代码
                ]
              })
              .bundle()
              .pipe(source(entry))
              .pipe(rename(function(path){
                path.basename += '.bundle';
                path.dirname = ""
              }))
              .pipe(gulp.dest('dist/js/main'));
      });
      return es.merge.apply(null, tasks);
    })

});

我项目文件应该没问题,因为我用 import $ from 'jquery' 是没问题的,

求前辈指教,谢谢

PHPz
PHPz

学习是最好的投资!

répondre à tous(2)
左手右手慢动作

因为zepto没有提供对CommonJS的支持,楼主可以参考这篇文章,虽然是webpack的,但是解决方案都是一个思路。
https://sebastianblade.com/ho...
图方便的话就直接用zepto-browserify

黄舟

jQuery 支持 CMD, 但是 Zepto 并不支持, 所以用 jQuery 来说项目文件没问题才是最大问题.

一个办法是把 Zepto 改成支持 CMD 的, 这个办法改动原本的 Zepto 源代码, 我不是很推荐.

另外就是不要把 Zepto 打包. 本身 Zepto 也不会经常更新, 打包之后别的模块一更新, Zepto 还要被打包一遍, 徒然增加更新包的体积, 纯属浪费.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!