[英]Can't get javascript file to load node_modules dependencies
我的應用程序是Node.JS,使用.ejs呈現視圖。
我試圖從node_modules獲取一個依賴文件夾,而不是必須將那個node_module模塊(jquery,angular,moment,jquery-ui,kendo-ui-core等)物理上放在我的“ public”文件夾中以便抓取應用程序的資產或必須在.ejs(html)文件中的腳本標記中引用CDN。 我嘗試添加:
var moment = require('moment');
在我的應用程序根目錄下的server.js(或稱為“ app.js”或“ index.js”文件的文件)中,但這似乎並沒有抓住這個文件夾。 我也嘗試過放置
var moment = require('moment');
在最頂部的javascript(.js)文件中,並收到一條錯誤消息:“未定義要求”。 我假設NodeJ應該知道Node_modules文件夾中的模塊,所以我想也許在server.js文件中,未將node_modules設置為使用公共文件夾。
app.use(express.static(__dirname + '/public'));
使用app.use函數。 我瀏覽過的大多數教程甚至文檔都只給出了簡單的指令:“只需添加var moduleName = require('module');' 但是他們並沒有詳細說明我在哪個文件中執行此操作,或者是否還有其他事情可以在將變量聲明為require函數之外進行設置。 我不使用模塊加載器,所以這可能是我未定義需求的原因。 另外,我想也許是在全局(-g)或本地安裝這些模塊的原因。 但是,是的,完全迷路了。
簡介:如何在我的一個javascript文件中使用node_modules,以及如何在不將js文件移出node_modules的情況下在.ejs文件中使用它?
運行Node.js應用程序時需要遵循一定的過程。 下面,我將列舉使用Node.js可用的npm時要采取的步驟:
npm init
。 這將創建一個名為package.json的文件,其中將列出應用程序的所有依賴項以及該應用程序的其他數據 npm install appname
(例如npm install jquery
) node_modules
文件夾中可用,該文件夾將在您首次運行npm install
時創建,並且還將列在package.json
require
語句在應用程序的文件夾(存儲庫)中創建index.js
文件 node index.js
,這將啟動節點,並且只要有npm install
,任何require
語句都可以正常npm install
我希望這有幫助。 請記住,節點在瀏覽器外部的環境中運行javascript,在我們的本地計算機中就是這種情況。
最后一件事,您引用了app.use(express.static(__dirname + '/public'));
實際上是一種中間件,當您的應用像服務器一樣使用時,它與require
無關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.