首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery需要一个带有webpack文档的窗口

jQuery需要一个带有webpack文档的窗口
EN

Stack Overflow用户
提问于 2016-08-31 03:25:06
回答 1查看 1.5K关注 0票数 0

我正在使用ReactJS.net (服务器端呈现),当我在Webpack中使用jquery时,我得到了错误,这是我的错误

将"Components.ToDoListSkeleton“呈现为”react_0LmYYfSk30qdrKJQe4McUQ“时出错: jQuery需要在module.exports (脚本文档5:51:87)有文档的窗口(脚本文档5:51:87):函数(W){if(!w.document){引发新错误(”jQuery需要带文档的窗口“);}返回工厂(W);}}} //在ReactCompositeComponentMixin._constructComponentWithoutOwner (脚本文档2:8271:28)、ReactCompositeComponentMixin._constructComponent (脚本文档2:8253:22)、ReactCompositeComponentMixin.mountComponent (脚本文档2:8172:22)、ReactReconciler.mountComponent (脚本文档2:1977:36)、脚本文档2:19549:37、Mixin.perform (脚本文档2:3788:21 )的新ToDoListSkeleton (脚本文档5:26:903)上定义此窗口。)在renderToStringImpl (脚本文档2:19544:25)在renderToString (脚本文档2:19574:11)在脚本文档7:1:16行: 19549列:37

这是我的webpack配置

代码语言:javascript
运行
复制
"use strict";

var path = require('path');
var WebpackNotifierPlugin = require('webpack-notifier');
var webpack = require("webpack");
module.exports = {
    context: path.join(__dirname, 'Content'),
    entry: {
        server: './server'
    },
    output: {
        path: path.join(__dirname, 'build'),
        filename: '[name].bundle.js'
    },
    module: {
        loaders: [
            // Transform JSX in .jsx files
            { test: /\.jsx$/, loader: 'jsx-loader?harmony' },
            { test: require.resolve("jquery"), loader: "expose?$!expose?jQuery" }
        ]
    },
    resolve: {
        // Allow require('./blah') to require blah.jsx
        extensions: ['', '.js', '.jsx']
    },
    externals: {
        //// Use external version of React (from CDN for client-side, or
        //// bundled with ReactJS.NET for server-side)
        react: "React"
    },
    plugins: [
      new WebpackNotifierPlugin(),
      new webpack.ProvidePlugin({
          $: "jquery", 
          jQuery: "jquery", 
          "window.jQuery": "jquery",    
      })
    ]
};

如有任何帮助或建议,将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-31 05:20:41

jQuery只用于浏览器,并且不支持服务器端呈现.您需要从要使用服务器端的任何代码中删除jQuery。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39240241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档