Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Webpack4时,如何访问条目文件中的jQuery对象($)?_Jquery_Webpack 4 - Fatal编程技术网

使用Webpack4时,如何访问条目文件中的jQuery对象($)?

使用Webpack4时,如何访问条目文件中的jQuery对象($)?,jquery,webpack-4,Jquery,Webpack 4,我有一个非常简单的Webpack4示例,其中我试图访问输入文件中的jQuery对象,以便操作DOM。经过广泛的研究,我已经把它缩减到我认为是最低限度的了 我希望示例在页面加载时将主体的背景色设置为青色。似乎什么都做不了。看起来条目文件中公开的$变量与浏览器中的$变量不同 更新-问题已解决:我误用了下面的jQuery 原始的(有缺陷的)条目文件(src/app.js): 已更正条目文件: import 'jquery'; $(() => { $('body').css('backgro

我有一个非常简单的Webpack4示例,其中我试图访问输入文件中的jQuery对象,以便操作DOM。经过广泛的研究,我已经把它缩减到我认为是最低限度的了

我希望示例在页面加载时将
主体的背景色设置为青色。似乎什么都做不了。看起来条目文件中公开的
$
变量与浏览器中的
$
变量不同

更新-问题已解决:我误用了下面的
jQuery

原始的(有缺陷的)条目文件(
src/app.js
):

已更正条目文件:

import 'jquery';

$(() => {
  $('body').css('background-color', 'cyan');
});
我使用文档中的
ProvidePlugin
。这是我的简单
webpack.config.js
文件:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require("webpack");

module.exports = {
  entry: {
    app: './src/app.js',
  },
    output: {
      filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery'
      }),
      new HtmlWebpackPlugin()
    ],
    devtool: 'inline-source-map'
}
{
  "name": "foo",
  "version": "1.0.0",
  "description": "",
  "private": true,
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "webpack-dev-server --inline --open"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "html-webpack-plugin": "^3.2.0",
    "webpack": "^4.16.5",
    "webpack-cli": "^3.1.0",
    "webpack-dev-server": "^3.1.5"
  },
  "dependencies": {
    "jquery": "^3.3.1"
  }
}
Webpack编译得很好,页面打开(使用
Webpack dev server
),但背景色没有像预期的那样变为青色。当我在
app.js
文件中记录
$('body')
的值时,我得到了
未定义的

以下是
package.json
文件:

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const webpack = require("webpack");

module.exports = {
  entry: {
    app: './src/app.js',
  },
    output: {
      filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
    plugins: [
      new webpack.ProvidePlugin({
        $: 'jquery',
        jQuery: 'jquery'
      }),
      new HtmlWebpackPlugin()
    ],
    devtool: 'inline-source-map'
}
{
  "name": "foo",
  "version": "1.0.0",
  "description": "",
  "private": true,
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "build": "webpack",
    "start": "webpack-dev-server --inline --open"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "html-webpack-plugin": "^3.2.0",
    "webpack": "^4.16.5",
    "webpack-cli": "^3.1.0",
    "webpack-dev-server": "^3.1.5"
  },
  "dependencies": {
    "jquery": "^3.3.1"
  }
}

我觉得我根本不明白这是怎么回事。谢谢非常感谢您的帮助。

非常抱歉。我误用jQuery的错误。感谢@charlietfl在评论中指出我的错误。我用过
$('body').bgColor=“cyan”
而不是
$('body').css('background-color','cyan')
。其他一切都已正确配置。如果你需要一个简单的例子,这里就是


我将编辑问题并指出我的错误。

jQuery对象没有影响元素的
bgColor
属性。使用
css()
方法或访问本机元素
$('body')[0]
Yes@charlietfl,谢谢。我的错。将jQuery调用更改为使用
css()
函数,一切正常。一线希望-有一个简单的例子,其他人可以使用。我将发布答案并将此代码放在Github的某个地方。