NodeJS 操作方法需要注入函数的模块
NodeJS how-to require module which injects a function
我正在使用 webpack 捆绑使用 d3 和 d3.slider 模块构建的可视化,但这是一个更普遍的问题 - 我如何要求(( 一个模块,用函数(这里是 d3.slider(((修补模块(这里 d3.slider(((?
package.json:
{
"name": "d3_slider_error",
"version": "0.0.1",
"description": "",
"main": "",
"scripts": {
"test": "echo '"Error: no test specified'" && exit 1",
"start": "webpack-dev-server"
},
"dependencies": {
"d3": "^3.5.15",
"d3-slider": "git+ssh://git@github.com:MasterMaps/d3-slider.git",
"webpack": "^1.9.10",
"webpack-dev-server": "^1.9.0",
"html-webpack-plugin": "^1.5.0"
}
}
webpack.config.js :
var HtmlWebpackPlugin = require('html-webpack-plugin');
var path = require('path');
module.exports = {
entry: "./src/main.js", // APP_PATH
output: {
filename: 'main.js',
path: path.resolve('./dist') // BUILD_PATH
},
module: {
loaders: [
//
]
},
resolve: {
modulesDirectories: ['node_modules']
},
plugins: [
new HtmlWebpackPlugin({title : "d3-slider-error"})
]
};
src/main.js:
var d3 = require('d3');
require('d3.slider');
var timeSlider = d3.slider();
console.log("Done!");
此日志:类型错误:d3.slider 不是一个函数
我找到了一个丑陋的解决方案,但由于没有其他问题,我在这里发布它。我将其添加到package.json依赖项中:
"script-loader": "git+ssh://git@github.com:webpack/script-loader.git"
然后在某个地方,例如在入口点中(假设 d3.slider 在 node_modules 中(:
require("script!d3.slider");
脚本加载器在全局环境中执行一次脚本。应该适用于所有类似的问题,遗留脚本等。
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 未定义不是函数:模块导出
- JavaScript模块模式-如何在使用对象/函数之前激发构造函数/init函数
- Nodejs模块函数返回未定义的,而不是异步的
- 如何在节点模块中从命令行运行函数
- 为什么在javascript中的模块模式中实现Lazy函数时范围会发生变化
- 如何在新创建的模块中从Odoo v8中的Javascript文件中调用python函数
- 为什么模块化幂函数在 Python 和 Javascript 中对于大数字的工作方式不同
- 节点模块对象范围:在所有函数之间共享一个对象
- 从公共方法调用模块的私有函数
- 从模块函数返回未定义的对象
- 传递参数时如何避免模块模式中的 getter/setter 函数
- 如何使用默认函数导出为 commonjs 模块创建类型
- 从脚本标记的全局范围调用webpack模块中的函数
- 如何从另一个模块调用函数
- AngularJs:无法调用由子模块中的指令链接的函数
- 针对浏览器和NodeJS的单个函数模块的语法
- 维护'这'在构造函数模块内
- 一个函数模块的Typescript定义,它有命名空间
- 如何让WebStorm解析函数模块