我正在使用wepack我的PHP网站。我无法调用php blocks中的jQuery函数。我收到的jquery错误如'ReferenceError:test1 is not defined'
这是我的网页
的index.php
<body>
<script src="assets/js/packages/index.min.js" type="text/javascript" ></script>
<?php
if($_SESSION['user']){
?>
<script>
test1();
</script>
<?php
}else{
}
?>
</body>
index.js
var $ = require("jquery");
function test1(){
$('body').html("logined");//sample function
}
webpack.config.js
var webpack = require('webpack');
module.exports = {
context: __dirname,
entry: {
'index': "./assets/js/index",
},
output: {
path: __dirname+"/assets/js/packages",
filename: "[name].min.js"
},
module: {
loaders: [
{ test: /\.css$/,loader: 'style-loader!css-loader?sourceMap'},
{ test: /\.png$/, loader: "url-loader?limit=100000" },
{ test: /\.jpg$/, loader: "url-loader?limit=100000" },
{ test: /\.(ttf|eot|svg|woff(2)?)(\?[a-z0-9]+)?$/,loader : 'file-loader'},
{ test: /\.(png|woff)$/, loader: 'url-loader?limit=100000' }
]
},
plugins: [
new webpack.ProvidePlugin({$: "jquery",jQuery: "jquery","window.jQuery": "jquery"
}),
]
};
答案 0 :(得分:0)
我认为这与Webpack无关:
您应该将test1()
函数包装在dom ready函数中,如下所示:
<script>
$(function() {
test1();
});
</script>
这将避免javascript搜索尚未加载的函数。