javascript - webpack打包后使用jQuery的问题
阿神
阿神 2017-04-11 09:55:31
0
3
541

使用webpack打包了页面上使用的一些js文件
配置文件:

var webpack = require("webpack"); var path= require("path"); module.exports = { entry: [ "./admin/public/entry/entry.js" ], output: { path: path.join(__dirname,"/admin/public/js/out"), filename: "bundle.js" }, module: { loaders: [{ test: /\.css$/, loader: "style!css" }] }, plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery", "window.jQuery": "jquery" }) ], }

入口文件:

require('bootstrap'); require('bootstrap-switch'); require('bootstrap-timepicker'); require('../js/jquery.cookies.js'); require('gritter'); require('../js/datatable.js'); require('../js/custom.js'); require('../js/common.js'); require('../js/tag.js'); require('jquery-ui'); require('cropper'); require('ztree');

打包完之后再网页上使用jQuery会报
Uncaught ReferenceError: $ is not defined
表示理解不能,为何在打包的js插件中使用jq没问题,在网页中却要报错

阿神
阿神

闭关修行中......

répondre à tous (3)
黄舟

这么打包之后jquery需要require才能用的,譬如:

var $ = require('jquery'); //这才能开始用 $('#id').show();
    左手右手慢动作
    1. 你在你的js文件中能够使用jquery是因为你通过require方式将jquery加载到了当前文件中,所以能够使用;

    2. 如第一点所说的,你只是吧jquery作为某个js文件中的一个变量,并没有绑定到window对象上,所以,在网页上是无法获取到jquery对象的 :

    你可以尝试在 比如 : index.js 中 添加如下代码:

    window.$ = require("jquery");

    这样的话 ,应该就可以在网页中使用了 ~

      PHPzhong

      你需要把require的jq全局化
      exporse

        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!