带有encore的Symfony 3.3前端堆栈 - 全局jquery插件

时间:2017-08-22 12:18:41

标签: javascript jquery symfony webpack webpack-encore

我试图用物化css框架制作symfony app。根据官方3.3文档,我使用安可进行前端。

我全局遇到jquery插件问题。我试过这个: Webpack Encore - jQuery plugins out of view这仍然不起作用......

所以... 我的webpack配置:

column() called from invalid context

vendor.js 我包括global.js:

plot "test.txt" (using $0:($1-$2))

在这个文件中,任何jquery插件都可以正常工作。 在 createProfile.js

'plot "test.txt" (using $0:($1-$2))'

当我在控制台中加载页面时,我看到:

var Encore = require("@symfony/webpack-encore");
var webpack = require('webpack');

Encore
    .setOutputPath('web/build/')
    .setPublicPath('/build')
    .cleanupOutputBeforeBuild()
    .autoProvidejQuery()
    .createSharedEntry('vendor', [
        'materialize-css',
        './assets/js/global.js',
    ])

    .addStyleEntry('global', './assets/scss/global.scss')
    .addEntry("createProfileModule", "./assets/js/modules/createProfile.js")

    .enableSassLoader()
    .enableSourceMaps(!Encore.isProduction())
    .enableVueLoader()
    .addPlugin(new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery': 'jquery',
        Popper: ['popper.js', 'default'],
        // In case you imported plugins individually, you must also require them here:
        Util: "exports-loader?Util!bootstrap/js/dist/util",
        Dropdown: "exports-loader?Dropdown!bootstrap/js/dist/dropdown",
    }))
    .enableVersioning()
;

module.exports = Encore.getWebpackConfig();

如何全局提供jquery插件?

1 个答案:

答案 0 :(得分:0)

好的,经过几次尝试后我就明白了。

解决方案是在自动完成之前添加$(document).ready