如何使用webpack从node_modules加载脚本

时间:2016-11-29 15:30:08

标签: javascript webpack loader

我需要使用script-loader从node_modules加载脚本。我尝试在client_entry.js

中执行以下操作
require('script-loader!canvas-to-blob');

但我在浏览器中收到以下错误:

VM1702:1Uncaught ReferenceError: module is not defined
    at eval (eval at module.exports (http://patientwisdom-dev.com:8080/index.js:164122:9), <anonymous>:1:1)
    at eval (<anonymous>)
    at module.exports (http://patientwisdom-dev.com:8080/index.js:164122:9)
    at Object.<anonymous> (http://patientwisdom-dev.com:8080/index.js:164108:26)
    at __webpack_require__ (http://patientwisdom-dev.com:8080/index.js:20:30)
    at Object.<anonymous> (http://patientwisdom-dev.com:8080/index.js:669:2)
    at __webpack_require__ (http://patientwisdom-dev.com:8080/index.js:20:30)
    at Object.<anonymous> (http://patientwisdom-dev.com:8080/index.js:48:19)
    at __webpack_require__ (http://patientwisdom-dev.com:8080/index.js:20:30)
    at http://patientwisdom-dev.com:8080/index.js:40:18

我也尝试过:

require('script-loader!canvas-to-blob/index.js');

仍然没有运气

fyi,这适用于具有相对路径的js文件:

require('script-loader!./test.js'); // works

但不是来自node_modules的内容

1 个答案:

答案 0 :(得分:0)

您只需要完整的相对路径,包括node_modules

根据项目中js文件相对于node_modules的位置,它可能看起来像这样。

require('script-loader!../../node_modules/canvas-to-blob/index.js');