Browserify |如何要求由Browserify先前创建的模块?

时间:2019-04-24 08:20:11

标签: javascript node.js browserify

我以前从未使用过node和browserify。所以我的知识很少。我不知道我在尝试什么。

简短地:

在路径下:C:\ Users \ fkaracan \ Documents \ Visual Studio 2015 \ Projects \ AutomobilePricePrediction \ AutomobilePricePrediction \ Scripts

我有

  • main.js
  • predict.js
  • NodePricePrediction.js

predict.js创建者

browserify main.js > predict.js

然后我将require。放在我的NodePricePrediction.js内,如下所示。

    var carModel = document.getElementById("selectCarModel").value;
    var bodyStyle = document.getElementById("selectBodyStyle").value;
    var wheelBase = document.getElementById("wheelBaseRange").value;
    var engineSize = document.getElementById("engineSizeRange").value;
    var horsePower = document.getElementById("horsePowerRange").value;
    var peakRpm = document.getElementById("peakRpmRange").value;
    var highwayMpg = document.getElementById("highwayMpgRange").value;

    const apiKey = "";
    const uri = "https://ussouthcentral.services.azureml.net/workspaces/9a262786c5e24526898e2b6de0f4bd6e/services/9209f59e7d0b46d3a5d1f500181a1323/execute?api-version=2.0&details=true";

    var predict = require('../predict.js');
    predict(carModel, bodyStyle, wheelBase, engineSize, horsePower, peakRpm, highwayMpg, uri, apiKey);
}

然后在我尝试做的控制台上

browserify NodePricePrediction.js > PricePrediction.js

但这给了我错误

Error: Cannot find module 'predict.js' from 'C:\Users\fkaracan\Documents\Visual Studio 2015\Projects\AutomobilePricePrediction\AutomobilePricePrediction\Scripts\Node'
    at C:\Users\fkaracan\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:46:17
    at process (C:\Users\fkaracan\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:173:43)
    at ondir (C:\Users\fkaracan\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:188:17)
    at load (C:\Users\fkaracan\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:69:43)
    at onex (C:\Users\fkaracan\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:92:31)
    at C:\Users\fkaracan\AppData\Roaming\npm\node_modules\browserify\node_modules\browser-resolve\node_modules\resolve\lib\async.js:22:47

是否有人想看到我的main.js代码。是:

let req = require("request");
let util = require("util");

module.exports = function (carModel, bodyStyle, wheelBase, engineSize, horsePower, peakRpm, highwayMpg, uri, apiKey) {
    util.log('Server running at http://127.0.0.1:8081/');

    let data = {
        "Inputs": {
            "input1":
                [
                    {
                        'carModel': carModel,
                        'bodyStyle': bodyStyle,
                        'wheelBase': wheelBase,
                        'engineSize': engineSize,
                        'horsePower': horsePower,
                        'peakRpm': peakRpm,
                        'highwayMpg': highwayMpg
                    }
                ],
        },
        "GlobalParameters": {}
    }

    const options = {
        uri: uri,
        method: "POST",
        headers: {
            "Content-Type": "application/json",
            "Authorization": "Bearer " + apiKey,
        },
        body: JSON.stringify(data)
    }

    req(options, (err, res, body) => {
        util.log(options);
        if (!err && res.statusCode == 200) {
            return body;
        } else {
            return "The request failed with status code: " + res.statusCode;
        }
    });
}

1 个答案:

答案 0 :(得分:0)

使用require('./ predict.js');解决了我的问题。奇怪的是。