Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何从节点加载外部模块_Node.js_Typescript_Requirejs - Fatal编程技术网

Node.js 如何从节点加载外部模块

Node.js 如何从节点加载外部模块,node.js,typescript,requirejs,Node.js,Typescript,Requirejs,我有点困了,不知道下一步该怎么办,在尝试了所有的尝试之后,我一直在寻找答案,却没有找到任何有效的解决方案 我做了一个非常简单的项目来演示我当前的问题,甚至下载并在您的机器上运行它 最后一个想法是在项目本身中有一个/dist/clients.js文件,这样我就可以在HTML文件(/dist/index.HTML)中使用它,因为我不能使用CommonJs作为我的typescript加载模块(我有几个文件,而不是只有一个),我选择了amd加载程序(因此在HTML文件中调用requirejs) 如何加

我有点困了,不知道下一步该怎么办,在尝试了所有的尝试之后,我一直在寻找答案,却没有找到任何有效的解决方案

我做了一个非常简单的项目来演示我当前的问题,甚至下载并在您的机器上运行它

最后一个想法是在项目本身中有一个
/dist/clients.js
文件,这样我就可以在HTML文件(
/dist/index.HTML
)中使用它,因为我不能使用
CommonJs
作为我的typescript加载模块(我有几个文件,而不是只有一个),我选择了
amd
加载程序(因此在HTML文件中调用requirejs)

如何加载npm模块,以便正确使用项目?我在ts加载程序选项中有
moduleResolution:“node”
,但似乎做得不对



对于这个问题问题在于,在项目的当前状态下,加载上下文的顺序是未知的,您可以编写一些代码来提供适当的模块加载顺序,或者使用某种模块加载程序,如或。 我强烈建议您选择webpack,这是typescript模块加载的常见选择

消除该错误的步骤:

  • 更改
    tsconfig.json
    ,它应该如下所示:
  • 删除html中的所有脚本标记

  • 创建
    webpack.config.js
    文件。请参见
    ts loader
    npm页面上的
    webpack.config.js
    外观示例。(区段配置)

  • 在html中创建带有webpack输出路径的脚本标记
  • <html>
        <head></head>
        <body>
            <h1>TS Testing...</h1>
            <script src="//cdnjs.cloudflare.com/ajax/libs/require.js/2.3.3/require.min.js" type="text/javascript"></script>
            <script src="client.js" type="text/javascript"></script>
            <script type="text/javascript">
                require(['clients/client'],
                    function(require) {
                        var sc = new require();
                    }
                );
            </script>
        </body>
    </html>
    
    var JsCookie: Cookies.CookiesStatic = require("js-cookie");
    
    {
      "compilerOptions": {
        "target": "es6",
        "module": "commonjs",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false,
        "rootDir": "."
        },
        "compileOnSave": false,
        "exclude": [
          "node_modules"
        ]
    }