几天来,我一直在努力让 .NET CORE 与节点一起工作。我尝试了 webpack 和 browserify,但没有任何效果。
有趣的是我可以在生成的 webpack javascript 文件中看到我的函数定义,但我不能调用它。
编辑:
不是 Visual Studio 中默认的 .NET React App。只是一个普通的 .NET Web 应用程序,添加一个包含所有节点内容的文件夹并使用 webpack 构建它。将生成一个 .js 文件,我将其导入到我的 .NET Web 应用程序中。我不需要用于 UI 开发的 node.js,我只需要它来对
<script type="text/javascript" src="web3.min.js"></script>
中不可用的以太坊区块链节点模块进行一些 UI JS 函数调用。仅适用于 import { ethers } from "ethers";
或 var ethers = require('ethers');
temp.js
function log(){
console.log("log from node");
}
module.exports = log;
webpack.config.js
const path = require('path');
module.exports = {
resolve: {
alias: {
'@aliasName': path.resolve(__dirname, '../wwwroot/tempFolder')
},
modules: [
'node_modules',
path.resolve(__dirname, './node_modules'),
],
},
mode: 'production',
entry: '../wwwroot/tempFolder/temp.js',
output: {
filename: 'temp_bundle.js',
path: path.resolve(__dirname, '../wwwroot/tempFolder'),
libraryTarget: 'var',
library: 'EntryPoint'
},
optimization: {
minimize: false
}
};
Windows 上的 CMD:
browserify temp.js -o temp_bundle.js
npx webpack --config webpack.config.js
dotnet 核心 index.cshtml
<script src="temp_bundle.js"></script>
<script>log()</script>
错误:
ReferenceError: log is not defined
at functionName ((index):170:13)