我做了下面的课来"劫持"这个console.log功能.这背后的原因是我想动态添加和删除值
.它将用于调试目的,因此函数调用 的起源console.log()很重要.在下面的代码中,我将在评论中解释我的逻辑.
export class ConsoleLog {
private _isActive = false;
private _nativeLogFn: any;
constructor() {
// ----------------------
// Store the native console.log function, so it can be restored later
// ----------------------
this._nativeLogFn = console.log;
}
public start() {
if (!this._isActive) {
// ----------------------
// Create a new function as replacement for the native console.log
// function. *** This will be the subject of my question ***
// ----------------------
console.log = console.log.bind(console, …Run Code Online (Sandbox Code Playgroud) 所以,我正在使用React创建一个应用程序,然后我将它部署到Heroku.一切都在localhost中运行良好,没有任何错误,webpack也编译没有错误.我也在Heroku上设置了env变量.
但是,当我将它部署到Heroku时,我得到一个空白的屏幕,并在控制台中出现此错误(我正确地要求TodoApi并尝试了各种方式 - 导入等,它在localhost中工作没有问题):
我试图找出它好几天,所以任何帮助都非常感谢.
Uncaught Error: Cannot find module "TodoApi"
at bundle.js:20
at Object.<anonymous> (bundle.js:20)
at t (bundle.js:1)
at Object.<anonymous> (bundle.js:20)
at t (bundle.js:1)
at Object.<anonymous> (bundle.js:3)
at Object.<anonymous> (bundle.js:3)
at t (bundle.js:1)
at Object.<anonymous> (bundle.js:1)
at t (bundle.js:1)
Run Code Online (Sandbox Code Playgroud)
这是我的webpack和package.json文件:
var webpack = require('webpack');
var path = require('path');
var envFile = require('node-env-file');
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
try {
envFile(path.join(__dirname, 'config/' + process.env.NODE_ENV + '.env'));
} catch(e) {
}
module.exports = {
entry: [
'script!jquery/dist/jquery.min.js',
'script!foundation-sites/dist/js/foundation.min.js',
'./app/app.jsx'
],
externals: …Run Code Online (Sandbox Code Playgroud)