我需要定义一个nodejs库(来自pr_name/node_modules/lib_name
)。在我的pr_name/static/js/init.js
文件中,我定义了baseUrl
路径:
baseUrl: 'static',
然后我在静态目录中定义了一些paths
。如何从不同路径添加节点库?
require.config({
baseUrl: 'static',
paths: {
'jquery': 'libs/jquery/dist/jquery.min',
'jquery.maskedinput': 'libs/jquery.maskedinput/dist/jquery.maskedinput.min',
'bootstrap': 'libs/bootswatch-dist/js/bootstrap.min',
'xlsx-chart': '???' // <-- not at static but at node_modules
}
UPD。
'xlsx-chart': '/node_modules/xlsx-chart/chart',
和
'xlsx-chart': '../node_modules/xlsx-chart/chart',
两者都在浏览器控制台上给我一个错误。
require.js:165 Uncaught Error: Script error for "xlsx-chart", needed by: export-stats
其中export-stats有xlsx-chart require:
define(['xlsx-chart'], function(XLSXChart){
....
我无法理解问题的根源。
Upd.Upd。
现在我明白了 - 我的网站是python
,并且必须在urls.py
定义所有使用过的网址。并且'xlsx-chart'
会像同一个node.js
- 库一样进入自己的网址。
答案 0 :(得分:0)
根据配置服务数据的服务器的方式,您可以使用绝对路径:
'xlsx-chart': '/node_modules/xlsx-chart'
如果node_modules
不是服务器所服务的根,那么相对路径也可以工作,在某些情况下可能更好:
'xlsx-chart': '../node_modules/xlsx-chart'
我使用过两者。