我有一個使用RequireJS
(2.1.14)作爲模塊系統的前端SPA。它基本上引導並加載Backbone.Marionette
應用程序。如何訪問RequireJS(AMD)環境中的node.js模塊?
在main.js
:
require.config ({
baseUrl: '/js',
waitSeconds: 200,
nodeRequire: require,
paths: {
jquery: '//cdn/jquery.min',
underscore:'//cdn/underscore-min',
// more plugins
},
shim: {
// shimming stuff
}
});
require(['marionette',
'vent',
'config/template',
'app',
'routers/main'
],
function (Marionette,
vent,
Template,
nrtApp
) {
'use strict';
nrtApp.module ('Public.Main', function (Main, nrtApp, Backbone,Marionette, $, _) {
nrtApp.start();
// this is where the error is:
requirejs (['config'], function (config) {
if (typeof config !== 'undefined') {config.log ('ok!');}
});
});
});
的問題是,我想加載一些npm
包(例如NPM安裝配置)從RequireJS
模塊。 RequireJS
似乎無法找到位於與RequireJS baseUrl
目錄不同目錄的npm node_modules
目錄。
下面是我的目錄結構:
my_project/
app/
public/
js/
main.js
app.js
node_modules/
config/
下面是錯誤消息:
它試圖從目錄中的baseUrl加載模塊。
如何在我的用例中從RequireJS模塊系統訪問npm模塊?
從客戶端只能訪問公用文件夾。 node_modules中的配置是什麼?如果該模塊也在客戶端上工作,那麼您必須將其複製到public/js中才能使用它。 – Molda
@Molda config是一個npm模塊。是的,我想在客戶端應用程序中使用配置。 –