如何在init.js中更改baseUrl路径

时间:2016-09-22 13:02:18

标签: javascript node.js require

我需要定义一个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 - 库一样进入自己的网址。

1 个答案:

答案 0 :(得分:0)

根据配置服务数据的服务器的方式,您可以使用绝对路径:

'xlsx-chart': '/node_modules/xlsx-chart'    

如果node_modules不是服务器所服务的根,那么相对路径也可以工作,在某些情况下可能更好:

'xlsx-chart': '../node_modules/xlsx-chart'    

我使用过两者。