webpack froala无法读取undefined#1312的属性'fn'

时间:2016-05-28 08:08:07

标签: javascript webpack

{ 
    test: require.resolve("./src/plugins/froala_editor.min"),
    loader: "imports?$=jQuery"
}

var $ = require("jquery");

webpack chrome console错误:Uncaught TypeError: $(...).editable is not a function

3 个答案:

答案 0 :(得分:2)

关于jQuery和webpack配置,你可以这样做:

package org.user;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

@WebServlet(description = "A simple servlet", urlPatterns = { "/SimpleServletPath" })
public class SimpleServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
     *      response)
     */
    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter writer = response.getWriter();
        String userName = request.getParameter("userName");
        HttpSession session = request.getSession();
        // To use the username in different browser.
        ServletContext context = request.getServletContext();

        if (userName != null && !userName.isEmpty()) {

            session.setAttribute("savedNameUser", userName);
            context.setAttribute("savedNameUser", userName);

        }

        writer.println("Request parameter has username as  " + userName
                + "</br>");

        writer.println("Session parameter has username as  "
                + (String) session.getAttribute("savedNameUser") + "</br>");

        writer.println("Context parameter has username as  "
                + (String) context.getAttribute("savedNameUser"));

    }
}

所以当你在你的froala编辑器中使用$或jQuery时,它将加载jquery。

在你的情况下,froala在加载jquery

之前使用jquery UI

OR !! 更新:

new webpack.ProvidePlugin({
    $: "jquery",
    jQuery: "jquery",
    "window.jQuery": "jquery"
})

main.js

npm install --save-dev script-loader

OMG !!你在npm上有froala只是从那里安装它并在你的main.js中需要它

https://www.npmjs.com/package/froala-editor

答案 1 :(得分:0)

请参阅url,并确保已在脚本中的Jquery min js file添加angular json中添加了node_modules/jquery/dist/jquery.min.js

答案 2 :(得分:0)

为补充@Shailendra Tiwari的答案,我使用 imports-loader webpack工具执行相同的操作,我这样导入了我的库:

import 'imports-loader?window.jQuery=jquery!icheck';

请注意我没有使用import 'imports-loader?jQuery=jquery!icheck';的方式,这是行不通的,因为该库仅在window.jQuery中显示

相关问题